1 #include<stdio.h>
2 int hill[110][110]={0};
3 int h[110][110]={0};
4 int dx[]={-1,0,1,0};
5 int dy[]={0,1,0,-1};
6 int r=0,c=0;
7 int ccbow(int i,int j)
8 {
9 int m=0;
10 if(h[i][j]>0)
11 return h[i][j];
12 for(m=0;m<4;m++)
13 {
14 if(i+dx[m]>0 && j+dy[m]>0 && i+dx[m]<=r && j+dy[m]<=c)
15 if(hill[i+dx[m]][j+dy[m]]<hill[i][j])
16 if(h[i][j]<ccbow(i+dx[m],j+dy[m])+1)
17 h[i][j]=ccbow(i+dx[m],j+dy[m])+1;
18 }
19 return h[i][j];
20
21 }
22 int main()
23 {
24 int i=0,j=0,k=0;
25 scanf("%d%d",&r,&c);
26 for(i=1;i<=r;i++)
27 {
28 for(j=1;j<=c;j++)
29 {
30 scanf("%d",&hill[i][j]);
31 }
32 }
33 int maxs=0;
34 for(i=1;i<=r;i++)
35 for(j=1;j<=c;j++)
36 {
37 if(maxs<ccbow(i,j))
38 maxs=ccbow(i,j);
39
40 }
41 printf("%d\n",maxs+1);
42
43
44
45
46
47 return 0;
48 }