标签:
Description
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
(Figure 1)
Input
Output
Sample Input
5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
Sample Output
30
代码如下
1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 5 int tri[102][102]; 6 int sum[102][102]; 7 int dir[][4] = {{1,0},{1,1}}; 8 int n; 9 10 void dfs(int x, int y) { 11 for(int i = 0; i < 2; i++) { 12 int tmpx = x + dir[i][0]; 13 int tmpy = y + dir[i][1]; 14 if(tmpx < n && tmpy >= 0 && tmpy <= tmpx) { 15 if(sum[tmpx][tmpy] < sum[x][y] + tri[tmpx][tmpy]) { 16 sum[tmpx][tmpy] = sum[x][y] + tri[tmpx][tmpy]; 17 dfs(tmpx, tmpy); 18 } 19 } 20 } 21 } 22 23 int main(int argc, char const *argv[]) 24 { 25 //freopen("input.txt","r",stdin); 26 while(scanf("%d",&n) != EOF) { 27 for(int i = 0; i < n; i++) { 28 for(int j = 0; j <= i; j++) { 29 scanf("%d",&tri[i][j]); 30 } 31 } 32 memset(sum, 0, sizeof(sum)); 33 sum[0][0] = tri[0][0]; 34 dfs(0,0); 35 int max = 0; 36 for(int i = 0; i < n; i++) { 37 if(max < sum[n-1][i]) { 38 max = sum[n-1][i]; 39 } 40 } 41 printf("%d\n",max); 42 } 43 return 0; 44 }
标签:
原文地址:http://www.cnblogs.com/jasonJie/p/5770442.html