首页 > 代码库 > poj 1088 滑雪
poj 1088 滑雪
http://poj.org/problem?id=1088
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 int g[200][200]; 7 int dp[200][200]; 8 int r,c; 9 int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};10 int max1=-1;11 12 int dfs(int x,int y)13 {14 if(dp[x][y]) return dp[x][y];15 dp[x][y]=1;16 for(int i=0; i<4; i++)17 {18 int xx=x+dir[i][0];19 int yy=y+dir[i][1];20 if(xx>=1&&xx<=r&&yy>=1&&yy<=c&&g[x][y]>g[xx][yy])21 {22 dp[x][y]=max(dp[x][y],dfs(xx,yy)+1);23 }24 }25 return dp[x][y];26 }27 28 int main()29 {30 while(scanf("%d%d",&r,&c)!=EOF)31 {32 max1=-1;33 memset(dp,0,sizeof(dp));34 for(int i=1; i<=r; i++)35 {36 for(int j=1; j<=c; j++)37 {38 scanf("%d",&g[i][j]);39 }40 }41 for(int i=1; i<=r; i++)42 {43 for(int j=1; j<=c; j++)44 {45 if(dp[i][j]==0)46 {47 dfs(i,j);48 max1=max(max1,dp[i][j]);49 }50 }51 }52 printf("%d\n",max1);53 }54 return 0;55 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。