思路就是建立一个数组,由下向上动态规划,保存页子节点到当前节点的最大值
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int t,i,j,b[100][100];
while(cin>>t)
{
for(i=0;i<t;i++)
{
for(j=0;j<=i;j++)
{
cin>>b[i][j];
}
}
for(i=t-2;i>=0;i--)
{
for(j=0;j<=i;j++)
{
b[i][j]+=(b[i+1][j]>b[i+1][j+1]?b[i+1][j]:b[i+1][j+1]);
}
}
cout<<b[0][0];
}
return 0;
}
原文:http://www.cnblogs.com/52Cyan/p/3662878.html