import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); while (scanner.hasNext()){ int n=scanner.nextInt(); int m=scanner.nextInt(); int[][] dis=new int[n][m]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ dis[i][j]=scanner.nextInt(); } } Main main=new Main(); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ main.dfs(dis,0,i,j); } } System.out.println(main.max); } } public int[][] location=new int[][]{{-1,0},{1,0},{0,-1},{0,1}}; public long max=0; public void dfs(int[][] s,int l,int r,int c){ if(max<l){ max=l; } for(int k=0;k<4;k++){ int i=r+location[k][0]; int j=c+location[k][1]; if(i>=0&&j>=0&&i<s.length&&j<s[0].length&&s[i][j]>s[r][c]){ dfs(s,l+1,i,j); } } } } |
Double click to view unformatted code.