#include<iostream> #include<queue> #include<string.h> using namespace std; int ma; int n,m; int ar[300][300]; int xx[4]={0,0,1,-1}; int yy[4]={1,-1,0,0}; void dfs(int x,int y,int k){ for(int i=0;i<4;i++){ int x1=x+xx[i]; int y1=y+yy[i]; if(x1>=1&&x1<=n&&y1>=1&&y1<=m&&ar[x1][y1]>ar[x][y]){ dfs(x1,y1,k+1); } if(k>ma){ ma=k; } } } int main(){ while(cin>>n>>m){ memset(ar,0,sizeof(ar)); ma=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>ar[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ dfs(i,j,0); } } cout<<ma<<endl; } } |
Double click to view unformatted code.