#include<iostream>
using namespace std;
int r,c,maxx;
int mapp[105][105];
int pos[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
void dfs(int x,int y,int cnt)
{
for(int i=0;i<4;i++)
{
int tmpx=x+pos[i][0],tmpy=y+pos[i][1];
if(tmpx>=1&&tmpx<=r&&tmpy>=1&&tmpy<=c&&mapp[tmpx][tmpy]<mapp[x][y])
{
dfs(tmpx,tmpy,cnt+1);
}
}
maxx=max(maxx,cnt);
}
int main()
{
cin>>r>>c;
for(int i=1;i<=r;i++)
{
for(int j=1;j<=c;j++)
{
cin>>mapp[i][j];
}
}
for(int i=1;i<=r;i++)
{
for(int j=1;j<=c;j++)
{
dfs(i,j,1);
}
}
cout<<maxx;
return 0;
}
评测详情