POJ 1088 滑雪
2014-03-16 00:38
260 查看
回溯思想。。要记忆化搜索。
#include<stdio.h> #include<string.h> int a[105][105],dp[105][105]; int dfs(int x,int y) { if(dp[x][y]>1) return dp[x][y];//如果之前计算过了,直接返回这个计算过的值 int Q,W,E,R,MAX=1; if(a[x][y]>a[x-1][y]) {Q=dfs(x-1,y)+1;if(MAX<Q)MAX=Q;} if(a[x][y]>a[x+1][y]) {W=dfs(x+1,y)+1;if(MAX<W)MAX=W;} if(a[x][y]>a[x][y-1]) {E=dfs(x,y-1)+1;if(MAX<E)MAX=E;} if(a[x][y]>a[x][y+1]) {R=dfs(x,y+1)+1;if(MAX<R)MAX=R;} return MAX; } int main() { int r,c; while(~scanf("%d%d",&r,&c)) { memset(a,1,sizeof(a));//把边界设为无穷大 int i,j,p=0; for(i=1;i<=r;i++) for(j=1;j<=c;j++) { dp[i][j]=1; scanf("%d",&a[i][j]); } for(i=1;i<=r;i++) for(j=1;j<=c;j++) { dp[i][j]=dfs(i,j); if(dp[i][j]>p) p=dp[i][j]; } printf("%d\n",p); } return 0; }
相关文章推荐
- POJ 1088 滑雪——解题报告
- poj 1088 滑雪
- poj 1088 滑雪(动态规划:记忆化搜索)
- POJ 1088 滑雪 解题报告
- poj 1088 滑雪【DP备忘录】
- POJ 1088.滑雪
- poj 1088 滑雪
- poj 1088 滑雪 记忆化搜索
- 滑雪 - POJ 1088 水题
- OpenJudge/Poj 1088 滑雪
- POJ 1088 滑雪
- POJ 1088滑雪
- POJ 1088 滑雪
- poj 1088 滑雪
- poj-1088-滑雪-贪心-dp-java
- POJ 1088 滑雪——DP
- POJ 1088 滑雪(DFS+记忆化)
- 【DFS(记忆化)】hdu 1078 FatMouse and Cheese(poj 1088 滑雪)
- poj 1088 滑雪 dp
- poj1088——滑雪(记忆化dp)