qd_zhanghuali @ 2019-05-24 23:02:59
using namespace std; int a[101][101],ma=1; bool book[101][101]; int fx[4][2]={0,1,1,0,0,-1,-1,0},m,n; void dfs(int x,int y,int c); int main(){ cin>>m>>n; for(int i=1;i<=m;i++){ for(int u=1;u<=n;u++)cin>>a[i][u]; } for(int i=1;i<=m;i++){ for(int u=1;u<=n;u++){ if(ma==m*n)break; if(book[i][u]==1)continue; dfs(i,u,1); } } cout<<ma; } void dfs(int x,int y,int c){ if(c>ma)ma=c; for(int i=0;i<4;i++){ int f=x+fx[i][0],g=y+fx[i][1]; if(f>0&&g>0&&f<=m&&g<=n&&a[f][g]>a[x][y])dfs(f,g,c+1); } }