POJ1088 滑雪 dp

来源:互联网 发布:ios彩票app源码 编辑:程序博客网 时间:2024/05/22 09:40
//记忆化搜索
#include<stdio.h>#include<string>int h[100][100],r,c;int dx[4]={-1,0,1,0};int dy[4]={0,1,0,-1};int ans[100][100];int dp(int a,int b){if(ans[a][b])return ans[a][b];int x,y,s,ma=0;for(int i=0;i<4;i++){x=a+dx[i];y=b+dy[i];if(x>=0&&x<r&&y>=0&&y<c&&h[x][y]<h[a][b]){s=dp(x,y);if(s>ma)ma=s;}}ans[a][b]=ma+1;return ans[a][b];}int main(){//freopen("t.txt","r",stdin);int i,j,t,maxn;while(scanf("%d%d",&r,&c)!=EOF){memset(ans,0,sizeof(ans));maxn=-1;for(i=0;i<r;i++)for(j=0;j<c;j++)scanf("%d",&h[i][j]);for(i=0;i<r;i++){for(j=0;j<c;j++){t=dp(i,j);if(maxn<t)maxn=t;}}printf("%d\n",maxn);}return 0;}

0 0