H 命運 動態規劃 數塔問題

2021-08-06 06:58:06 字數 1811 閱讀 3844

穿過幽谷意味著離大魔王lemon已經無限接近了!

可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!

可憐的yifenfei為了去救mm,義無返顧地跳進了迷宮。讓我們一起幫幫執著的他吧!

命運大迷宮可以看成是乙個兩維的方格陣列,如下圖所示:

yifenfei一開始在左上角,目的當然是到達右下角的大魔王所在地。迷宮的每乙個格仔都受到幸運女神眷戀或者痛苦魔王的詛咒,所以每個格仔都對應乙個值,走到那裡便自動得到了對應的值。

現在規定yifenfei只能向右或者向下走,向下一次只能走一格。但是如果向右走,則每次可以走一格或者走到該行的列數是當前所在列數倍數的格仔,即:如果當前格仔是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k) 其中k>1。

為了能夠最大把握的消滅魔王lemon,yifenfei希望能夠在這個命運大迷宮中得到最大的幸運值。

input

輸入資料首先是乙個整數c,表示測試資料的組數。

每組測試資料的第一行是兩個整數n,m,分別表示行數和列數(1<=n<=20,10<=m<=1000);

接著是n行資料,每行包含m個整數,表示n行m列的格仔對應的幸運值k ( |k|<100 )。

output

請對應每組測試資料輸出乙個整數,表示yifenfei可以得到的最大幸運值。

sample input

1

3 89 10 10 10 10 -10 10 10

10 -11 -1 0 2 11 10 -20

-11 -11 10 11 2 10 -10 -10

sample output

52
嗯.....這題吧怎麼說 剛開始木有一點思路於是去做了下餡餅問題 發現這是類似的都是數塔的問題不同也就在於乙個是從上往下乙個是從下往上

嗯然後還是很認真的錯了好幾發 嗯

小毛病不斷比如 把j%k寫成k%j等等一系列問題 

最主要的是  在初始化的時候我弄成了0導致wa 嗯 沒有考慮到是負數的問題的話  第一行的可能會是負數小於0那麼 就會選擇上面的那個

嗯這個是容易出錯的地方還是要注意不過經過自己做了些數塔的問題 感覺好多了 果然好多東西必須得自己做才能發現一些列的問題

還是開心 ~~~~~~~~~

**如下

#include#include#include#include#includeusing namespace std;

int n,m;

int dp[25][1005];

int angle[25][1005];

int maxn(int a,int b)

int main()

for(int i=0;i<1005;i++)

dp[0][i]=-200;

for(int i=0;i<25;i++)

dp[i][0]=-200;

dp[0][1]=0;

int i,j;

for(i=1;i<=n;i++)

{ for(j=1;j<=m;j++)

{if(j==1)

dp[i][j]=dp[i-1][j]+angle[i][j];

else if(j==2)

dp[i][j]=maxn(dp[i-1][j],dp[i][1])+angle[i][j];

else

{whatmaxn=-200;

for(int k=1;k

命運 (動態規劃)

穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm,義無返顧地跳進了迷宮。讓我們一起幫幫執著的他...

命運(動態規劃)

problem description 穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm,義無...

命運 (動態規劃)

穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm,義無返顧地跳進了迷宮。讓我們一起幫幫執著的他...