题解:本题主要考查dp,可以逆推,一层一层推上去
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int n,i,j;
int a[1005][1005],aaa[1005][1005];
int main()
{
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)aaa[i][j]=a[i][j];
for(i=n-1;i>=1;i--)
for(j=1;j<=i;j++)
{
aaa[i][j]=max(aaa[i+1][j],aaa[i+1][j+1])+aaa[i][j];
}
cout<<aaa[1][1];
return 0;
}