标签:
1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<iostream> 5 #include<algorithm> 6 #include<queue> 7 #include<vector> 8 #include<set> 9 #include<stack> 10 #include<string> 11 #include<sstream> 12 #include<map> 13 #include<cctype> 14 #include<limits.h> 15 using namespace std; 16 int a[22][22],result,n,m; 17 void DFS(int y,int x,int step) 18 { 19 if(y<0||y>n||x<0||x>m) 20 return; 21 if(y==n&&x==m&&step>result) 22 result=step; 23 DFS(y+1,x,step+a[y+1][x]); 24 DFS(y,x+1,step+a[y][x+1]); 25 } 26 int main() 27 { 28 while(scanf("%d%d",&n,&m)!=EOF) 29 { 30 for(int i=0;i<n;i++) 31 for(int j=0;j<m;j++) 32 scanf("%d",&a[i][j]); 33 result=INT_MIN; 34 DFS(0,0,a[0][0]); 35 printf("%d\n",result); 36 } 37 return 0; 38 }
1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<iostream> 5 #include<algorithm> 6 #include<queue> 7 #include<vector> 8 #include<set> 9 #include<stack> 10 #include<string> 11 #include<sstream> 12 #include<map> 13 #include<cctype> 14 #include<limits.h> 15 using namespace std; 16 int dp[22][22],result,n,m; 17 int main() 18 { 19 while(scanf("%d%d",&n,&m)!=EOF) 20 { 21 for(int i=1;i<=n;i++) 22 for(int j=1;j<=m;j++) 23 scanf("%d",&dp[i][j]); 24 for(int i=1;i<=n;i++) 25 for(int j=1;j<=m;j++) 26 dp[i][j]=dp[i][j]+max(dp[i][j-1],dp[i-1][j]); 27 printf("%d\n",dp[n][m]); 28 } 29 return 0; 30 }
标签:
原文地址:http://www.cnblogs.com/A-FM/p/5452540.html