#include<bits/stdc++.h>
using namespace std;
int ans,maxx=-1;
int a[103][103];
int b[103][103];
int dx[5]={0,1,0,-1,0};
int dy[5]={0,0,1,0,-1};
int m,n;
void dfs(int x, int y){
if(b[x][y]<ans){
ans++;
b[x][y]=ans;
for(int i=1;i<=4;i++){
if(a[x][y]>a[x+dx[i]][y+dy[i]]&&x+dx[i]>0&&x+dx[i]<=n&&y+dy[i]>0&&y+dy[i]<=m)
{
dfs(x+dx[i],y+dy[i]);
}
}
ans--;
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
ans=1;
dfs(i,j);
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
maxx=max(maxx,b[i][j]);
}
}
cout<<maxx;
return 0;
}
为什么样例过了但是没有用