数字三角形

sdut 1730

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1730

 1 #include<stdio.h>
 2 void main()
 3 {
 4     int d[110][110],a[110][110],i,j,n;
 5     //a[i][j]表示从元素d[i][j]向下的最优解
 6     scanf("%d",&n);
 7     for(i=1;i<=n;i++)
 8     {
 9         for(j=1;j<=i;j++)
10             scanf("%d",&d[i][j]);
11     }
12     for(i=1;i<n;i++)
13         a[n][i]=d[n][i];
14     for(i=n;i>1;i--)
15     {
16         for(j=1;j<=i;j++)
17         {
18             if(a[i][j]>a[i][j+1])
19                 a[i-1][j]=a[i][j]+d[i-1][j];
20             else
21                 a[i-1][j]=a[i][j+1]+d[i-1][j];
22         }
23     }
24     printf("%d\n",a[1][1]);
25 }

 

posted on 2012-08-10 11:19  chenchenfxg  阅读(86)  评论(0)    收藏  举报

导航