Loading

AcWing 1015. 摘花生

题目链接

https://www.acwing.com/problem/content/1017/

题目思路

本题是经典的线性DP
image
如上图所示,每一步的最优解即为上一步的最大值加当前地方花生数

题目代码

#include <iostream>
#include <algorithm>

using namespace std;
const int N = 110;
int f[N][N], g[N][N];
int T;

int main()
{
    cin >> T;
    while(T -- )
    {
        int r, c;
        cin >> r >> c;
        for(int i = 1; i <= r; i ++ )
            for(int j = 1; j <= c; j ++ )
            {
                cin >> g[i][j];
                f[i][j] = max(f[i - 1][j] + g[i][j], f[i][j - 1] + g[i][j]);
            }
        
        cout << f[r][c] << endl;
    }
    return 0;
}
posted @ 2022-03-30 19:36  vacilie  阅读(48)  评论(0)    收藏  举报