做过的第一个dp题目,逆向思维,对于习惯性模拟的我,还没有把逆向思维运用到写代码这一方面,也是第一次了。
#include <iostream>
#include <cstdio>using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int a[105][105]= {0};
int c;
cin>>c;
for(int i=0; i<c; i++)
for(int j=0; j<i+1; j++)
cin>>a[i][j];
;
for(int i=c-1; i>0; i--)
for(int j=0; j<c; j++)
{
a[i-1][j]+=a[i][j]>a[i][j+1]?a[i][j]:a[i][j+1];
}
;
cout<<a[0][0]<<endl;
}
return 0;
}