洛谷P14341 滑雪
来源:互联网 发布:sql重庆培训 编辑:程序博客网 时间:2024/05/17 04:12
好怀念。。第一道自己AC的DP
记忆化搜索
(好久以前写的有点难看见谅233
<span style="font-size:18px;">#include<iostream>#include<cstring>#define maxn 1005using namespace std;int m,n,G[maxn][maxn],dp[maxn][maxn];bool vis[maxn][maxn];const int mx[4]={1,-1,0,0};const int my[4]={0,0,1,-1};void init(void){ cin>>m>>n; for(int i=0;i<maxn;i++) for(int j=0;j<maxn;j++) G[i][j]=maxn; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++){ int x;cin>>x; G[i][j]=x; } memset(dp,0,sizeof(dp)); memset(vis,0,sizeof(vis));}int solve(int x,int y){ int t=0;vis[x][y]=1;int mark=1; for(int i=0;i<4;i++){ int tx=x+mx[i],ty=y+my[i]; if(G[tx][ty]<G[x][y]){ mark=0; if(vis[tx][ty])t=max(dp[tx][ty]+1,t); else{ solve(tx,ty); t=max(dp[tx][ty]+1,t); } } } if(!mark)dp[x][y]=t; else dp[x][y]=1; return dp[x][y];}int main(){ init(); int ans=0; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if(!vis[i][j]){ solve(i,j); if(ans<dp[i][j]) ans=dp[i][j]; } } } cout<<ans; return 0;}</span>
0 0
- 洛谷P14341 滑雪
- 洛谷1434 滑雪
- 洛谷 P1434 滑雪
- 洛谷 P1434 滑雪
- 洛谷P1434 滑雪
- 洛谷 p1434 滑雪
- 【洛谷P1434】滑雪
- 搜索 洛谷 P1434滑雪
- 洛谷p1434滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- 滑雪
- redis 原理
- 微信模块介绍
- c++递归创建二叉树
- 全方位比较PHP的Node.js的优缺点
- leetCode练习(101)
- 洛谷P14341 滑雪
- 安卓开发——根据QQ号跳转到QQ聊天界面
- 分数化小数decimal
- PHP开发者常犯的10个MySQL错误
- linux 学习之 进程
- [LeetCode258] Add Digits
- c# 获取exe程序的句柄, 并根据句柄置顶它
- 【大杂烩】杂7杂8的东西
- IOS学习之UIWebView