杭电2084

 1 //简单的动态规划应用。。
 2 #include<stdio.h>
 3 int sum[100],a[100][100];
 4 int main()
 5 {
 6     int max(int x,int y);
 7     int n,i,j,m;
 8     while(~scanf("%d",&n))
 9     {
10         while(n--)
11         {
12             scanf("%d",&m);
13             for(i = 0; i < m; ++i)
14                 for(j = 0; j <= i; ++j)
15                 {
16                     scanf("%d",&a[i][j]);
17                     if(i==m-1)
18                         sum[j]=a[i][j];
19                 }
20             for(i = m-2; i >= 0; --i)
21                 for(j = 0; j <= i; ++j)
22                     sum[j]=a[i][j]+max(sum[j],sum[j+1]);
23             printf("%d\n",sum[0]);
24         }
25     }
26 }
27 
28 int max(int x,int y)
29 {
30     int z;
31     z=x>y?x:y;
32     return z;
33 }

 

posted @ 2016-11-17 14:15  Posase  阅读(198)  评论(0编辑  收藏  举报