ZY_85 @ 2022-09-28 17:31:44
#include<iostream>
//#include<bits/stdc++.h>
using namespace std;
//#define data dp//data在洛谷编译会失败(可能是关键字)
int A[100][100],data[100][100],n,m,temp;
void DataFS(int x,int y){
temp++;
int NX,NY,t=-1,Nextx=-1,Nexty=-1;
NX=x-1;NY=y;
if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
t=A[NX][NY];
Nextx=NX;
Nexty=NY;
}
NX=x;NY=y+1;
if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
t=A[NX][NY];
Nextx=NX;
Nexty=NY;
}
NX=x+1;NY=y;
if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
t=A[NX][NY];
Nextx=NX;
Nexty=NY;
}
NX=x;NY=y-1;
if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
t=A[NX][NY];
Nextx=NX;
Nexty=NY;
}
if(Nextx!=-1&&Nexty!=-1&&t!=-1)DataFS(Nextx,Nexty);
return;
}
int main(){
// freopen("P1434Data.in","r",stdin);
cin>>n>>m;
for(int i=0;i<n;i++)for(int j=0;j<m;j++)cin>>A[i][j];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
temp=0;
DataFS(i,j);
data[i][j]=temp;
}
}
int answer=0;
for(int i=0;i<n;i++)for(int j=0;j<m;j++)if(data[i][j]>answer)answer=data[i][j];
cout<<answer;
// fclose(stdin);
return 0;
}