沉鸣cmh @ 2020-09-05 21:47:37
为什么WA了5个点
#include<bits/stdc++.h>
using namespace std;
int r,c,a[105][105],su[105][105],sum,k;
int dfs(int x,int y){int th=0;
if(su[x][y])return su[x][y];
if(x>0&&a[x-1][y]<a[x][y])th=max(th,dfs(x-1,y)+1);
if(x<r&&a[x+1][y]<a[x][y])th=max(th,dfs(x+1,y)+1);
if(y>0&&a[x][y-1]<a[x][y])th=max(th,dfs(x,y-1)+1);
if(y<c&&a[x][y+1]<a[x][y])th=max(th,dfs(x,y+1)+1);
return su[x][y]=th;
}
int main(){
cin>>r>>c;for(int i=1;i<=r;i++)for(int j=1;j<=c;j++)cin>>a[i][j];
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++)
sum=max(sum,dfs(i,j));
cout<<sum;
return 0;
}