import java.util.*;
public class Main{
static int N=310,n,m;
static int[][] f=new int[N][N];
static int[][] h=new int[N][N];
static int[] dx={-1,0,1,0};
static int[] dy={0,1,0,-1};
public static int dp(int x,int y){
if(f[x][y]!=-1) return f[x][y];
f[x][y]=1;
for(int i=0;i<4;i++){
int a=x+dx[i];
int b=y+dy[i];
if(a>=1 && a<=n && b>=1 && b<=m && h[a][b]<h[x][y]){
f[x][y]=Math.max(f[x][y],dp(a,b)+1);
}
}
return f[x][y];
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
h[i][j]=sc.nextInt();
for(int i=0;i<N;i++) Arrays.fill(f[i],-1);
int res=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
res=Math.max(res,dp(i,j));
System.out.println(res);
}
}
Acwing.滑雪
最新推荐文章于 2024-06-12 10:00:23 发布