#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<cstring> #include<vector> #include<map> #include<string> #include<set> using namespace std; int a[1000][1000]; int ans; int n,m; void dfs(int i,int j,int sum) { if(a[i+1][j]>a[i][j])dfs(i+1,j,sum+1); if(a[i][j+1]>a[i][j])dfs(i,j+1,sum+1); if(a[i-1][j]>a[i][j])dfs(i-1,j,sum+1); if(a[i][j-1]>a[i][j])dfs(i,j-1,sum+1); ans=max(sum,ans); } int main(){ while(cin>>n>>m){ memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) cin>>a[i][j]; } ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) dfs(i,j,0); } cout<<ans<<endl; } return 0; } /* */ |
Double click to view unformatted code.