数字三角形

const int N=510;
int a[N][N];
int f[N][N];
int n;

int main()
{
    cin>>n;
    memset(f,-0x3f,sizeof f);
    f[0][0]=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
        {
            cin>>a[i][j];
            f[i][j]=max(f[i-1][j-1],f[i-1][j])+a[i][j];
        }

    int res=-INF;
    for(int i=1;i<=n;i++)
        res=max(res,f[n][i]);
    cout<<res<<endl;
    //system("pause");
}
原文地址:https://www.cnblogs.com/fxh0707/p/13697622.html