既然是思想
动态规划的思想
要用自己的思想写出代码
动态规划的神奇就是
不需要去穷举
就像一次走完了所有的优越路径 然后在个别的优越路径中选出最好的
但是实际上每个路径也没有放过
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int t;
cin>>t;
int a[500][500];
int i,j;
for(i=1;i<=t;i++)
{
for(j=0;j<i;j++)
{
cin>>a[i][j];
}
}
int b[500][500];
int z=0;
for(i=1;i<=t;i++)
{
for(j=0;j<i+1;j++)
{
b[i][j]=0;
}
} b[1][0]=a[1][0];
for(i=1;i<t;i++)
{
if(i==t-1) z=0;
for(j=0;j<i+1;j++)
{
if((b[i][j]+a[i+1][j])>b[i+1][j])
{
b[i+1][j]=b[i][j]+a[i+1][j];
}
if((b[i][j]+a[i+1][j+1])>b[i+1][j+1])
{
b[i+1][j+1]=b[i][j]+a[i+1][j+1];
}
if(i==t-1&&z<b[i+1][j]) z=b[i+1][j];
}
}
if(t==1) z=a[1][0];
cout<<z<<endl;
}
return 0;
}