算法.线性dp

算法.线性dp_第1张图片

#include
using namespace std;
const int N = 510;
int n, m;
int f[N][N], w[N][N];

int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            cin >> w[i][j];
        }
    }
    for (int i = 1; i <= n; i++)f[n][i] = w[n][i] ;
    for (int i = n - 1; i; i--)
    {
        for (int j = 1; j <= n; j++)
        {
            f[i][j] = max(f[i + 1][j] + f[i][j], f[i + 1][j + 1] + f[i][j]);
        }
    }
    cout << f[1][1];



    return 0;
}

你可能感兴趣的:(算法,算法,c++,数据结构)