您的位置:首页 > 其它

POJ1163 The Triangle

2017-04-10 21:59 351 查看
动态规划题,从下往上较大的相加:

#include<stdio.h>
int max(int i,int j)
{
if(i>j)
return i;
else
return j;
}
int main()
{
int n;
int a[100][100];
int msum[100][100];//保存在msum中
while(scanf("%d\n",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
scanf("%d\n",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
msum[n-1][i]=a[n-1][i];
}
for(int i=n-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
{
msum[i][j] = max(msum[i+1][j],msum[i+1][j+1])+a[i][j];
}
}
printf("%d\n",msum[0][0]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  动态规划 poj