最大價值
輸入
第1行:n,n為矩陣的大小。(2 <= n <= 500)
第2 - n + 1行:每行n個數,中間用空格隔開,對應格仔中獎勵的價值。(1 <= n[i] <= 10000)
輸出
輸出能夠獲得的最大價值。
輸入示例3
1 3 3
2 1 3
2 2 1
輸出示例11
狀態轉移方程:dp[i][j]=max(dp[i][j-1],dp[i-1][j])+map[i][j](注意當i或j為0時dp【i】【j】為負無窮;
因為我的**map陣列的下標是從一開始的;且dp[1][1]=map[1][1];)
#include#include#includeusing namespace std;
int map[505][505];
int dp[505][505];
#define inf -0x3f3f3f3f;
int main()
} dp[1][1]=map[1][1];
for(int i=1;i<=n;i++) }
printf("%d\n",dp[n][n]);
return 0;
}
最大價值問題
11只貓和阿呆鳥 題目描述 11只貓去了阿呆鳥的家鄉,準備大吃一頓烤全鳥。結果遇上了巨無霸阿呆鳥,被全部抓走給阿呆鳥做土豆餅了。巨無霸阿呆鳥一次能吃好多好多土豆餅,11只貓天天象小奴隸一樣,真的好累啊!虎貓隊長想到了乙個辦法,他準備多一些花樣,比如烤全鳥 鹹魚幹還有好多其他的好吃的。多吃肉的好處就是...
禮物的最大價值
題目 在乙個mxn的棋盤的每乙個都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向右或者向下移動一格,知道到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能達到多少價值的禮物。方法一 動態規劃 二維陣列儲存 int getmaxvalue ...
禮物的最大價值
題目 在乙個m n的棋盤的每一格都放有乙個禮物,每個禮物都有一定的價值 價值大於0 你可以從棋盤的左上角開始拿格仔裡的禮物,並每次向左或者向下移動一格直到到達棋盤的右下角。給定乙個棋盤及其上面的禮物,請計算你最多能拿到多少價值的禮物?動態規劃,優化前 int getmaxvalue const in...