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 }