标签:des style blog http color width
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 74066 | Accepted: 27418 |
Description
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Input
Output
Sample Input
5 5 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
Sample Output
25
Source
1 #include<stdio.h> 2 #include<string.h> 3 4 int n,m; 5 int dp[101][101]; //保存每个点最大的滑雪长度 最大长度,每一步的差值最小 6 7 int Dp(int i,int j,int a[][101]) 8 { 9 if(dp[i][j]>0) 10 return dp[i][j]; //如果已经遍历过。 11 int Max = 0; 12 if(i-1>=0&&a[i-1][j]<a[i][j]) 13 { 14 if(Max < Dp(i-1,j,a)) 15 Max = Dp(i-1,j,a); 16 } 17 if(i+1<=n-1&&a[i+1][j]<a[i][j]) 18 { 19 if(Max < Dp(i+1,j,a)) 20 Max = Dp(i+1,j,a); 21 } 22 if(j-1>=0&&a[i][j-1]<a[i][j]) 23 { 24 if(Max < Dp(i,j-1,a)) 25 Max = Dp(i,j-1,a); 26 } 27 if(j+1<=m-1&&a[i][j+1]<a[i][j]) 28 { 29 if(Max < Dp(i,j+1,a)) 30 Max = Dp(i,j+1,a); 31 } 32 return dp[i][j] = Max + 1; 33 } 34 35 int main() 36 { 37 38 while(scanf("%d%d",&n,&m)!=EOF) 39 { 40 int a[101][101]; 41 42 for(int i=0;i<n;i++) 43 { 44 for(int j=0;j<m;j++) 45 { 46 scanf("%d",&a[i][j]); 47 dp[i][j] = 0; 48 } 49 } 50 51 for(int i=0;i<n;i++) 52 { 53 for(int j=0;j<m;j++) 54 { 55 Dp(i,j,a); 56 } 57 } 58 int Max = -9999; 59 for(int i=0;i<n;i++) 60 for(int j=0;j<m;j++) 61 { 62 if(Max<dp[i][j]) 63 Max = dp[i][j]; 64 } 65 printf("%d\n",Max); 66 } 67 return 0; 68 }
标签:des style blog http color width
原文地址:http://www.cnblogs.com/jhldreams/p/3798940.html