[USACO1.5]数字三角形 ————dp

题解:本题主要考查dp,可以逆推,一层一层推上去
代码如下:

#include
#include
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<

你可能感兴趣的:([USACO1.5]数字三角形 ————dp)