HDU 2084 数塔
来源:岁月联盟
时间:2012-09-17
简单的贪心思想:把最大的数添加进来s[i][j]+=max(s[i+1][j],s[i+1][j+1]);
[cpp]
#include<stdio.h>
[cpp]
#define max(a,b) (a)>(b)?(a):(b)
int s[100][100];
int main()
{
int c,n,i,j,b;
scanf("%d",&c);
while(c--)
{
scanf("%d",&n);
i=0;b=n;
while(b--)
{
for(j=0;j<=i;j++)
scanf("%d",&s[i][j]);
i++;
}
for(i=n-2;i>=0;i--)
for(j=0;j<=i;j++)
s[i][j]+=max(s[i+1][j],s[i+1][j+1]);
printf("%d/n",s[0][0]);
}
return 0;
}
下一篇:字符串转化为数字