#include<stdio.h> int main(){ int m,n,sr,sc,step=0,max=0; scanf("%d%d",&m,&n); int stair[m+2][n+2],min=9999; for(int i=0;i<m+2;i++){ for(int j=0;j<n+2;j++){ if(i==0||i==m+1||j==0||j==n+1){ stair[i][j]=-9999; } else{ scanf("%d",&stair[i][j]); } } } for(int i=1;i<m+1;i++){ for(int j=1;j<n+1;j++){ sr=i; sc=j; step=0; while(stair[sr][sc]==stair[sr][sc+1]-1||stair[sr][sc]==stair[sr][sc-1]-1||stair[sr][sc]==stair[sr+1][sc]-1||stair[sr][sc]==stair[sr-1][sc]-1){ if(stair[sr][sc]==stair[sr][sc+1]-1){ //stair[sr][sc]=-9999; sc++; } else if(stair[sr][sc]==stair[sr][sc-1]-1){ //stair[sr][sc]=-9999; sc--; } else if(stair[sr][sc]==stair[sr+1][sc]-1){ //stair[sr][sc]=-9999; sr++; } else if(stair[sr][sc]==stair[sr-1][sc]-1){ //stair[sr][sc]=-9999; sr--; } step++; } printf("%d\n",step); if(step>max){ max=step; } } } printf("%d",max); } |
Double click to view unformatted code.