代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
int cnt=0,maxcnt=0x8000000000000000;
int h[105][105],r,c;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,-1,1};
void dfs(int x,int y){
cnt++;
for(int i=0;i<4;i++){
int xx=x+dx[i];
int yy=y+dy[i];
if(xx>0 && yy>0 && xx<r && yy<c && h[xx][yy]<h[x][y]){
dfs(xx,yy);
cnt--;
}
else{
if(cnt>maxcnt){
maxcnt=cnt;
}
}
}
}
signed main(){
cin>>r>>c;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
cin>>h[r][c];
}
}
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
dfs(i,j);
}
}
cout<<maxcnt;
}
第2、3、4点AC,其他WA