寒假每日一题题解(1.29)摘花生(DP水题)
生活随笔
收集整理的這篇文章主要介紹了
寒假每日一题题解(1.29)摘花生(DP水题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘花生
Hello Kitty想摘點花生送給她喜歡的米老鼠。
她來到一片有網格狀道路的矩形花生地(如下圖),從西北角進去,東南角出來。
地里每個道路的交叉點上都有種著一株花生苗,上面有若干顆花生,經過一株花生苗就能摘走該它上面所有的花生。
Hello Kitty只能向東或向南走,不能向西或向北走。
問Hello Kitty最多能夠摘到多少顆花生。
輸入格式
第一行是一個整數T,代表一共有多少組數據。
接下來是T組數據。
每組數據的第一行是兩個整數,分別代表花生苗的行數R和列數 C。
每組數據的接下來R行數據,從北向南依次描述每行花生苗的情況。每行數據有C個整數,按從西向東的順序描述了該行每株花生苗上的花生數目M。
輸出格式
對每組輸入數據,輸出一行,內容為Hello Kitty能摘到得最多的花生顆數。
數據范圍
1≤T≤100,
1≤R,C≤100,
0≤M≤1000
輸入樣例:
2 2 2 1 1 3 4 2 3 2 3 4 1 6 5輸出樣例:
8 16題解(DP水題)
#include <iostream> #include <algorithm>using namespace std;const int N = 110;int dp[N][N]; int a[N][N]; int n, m, t; int main(){cin >> t;while(t -- ){cin >> n >> m;for (int i = 1 ; i <= n ; i ++)for ( int j = 1 ; j <= m ; j ++)cin >> a[i][j];for (int i = 1 ; i <= n ; i ++){for (int j = 1 ; j <= m ; j ++){dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + a[i][j];}}cout << dp[n][m] << endl;}return 0; }線性dp水題,沒啥好說的
總結
以上是生活随笔為你收集整理的寒假每日一题题解(1.29)摘花生(DP水题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四、入门python第四课
- 下一篇: 形参&