3左上角右上角動態規劃

2021-07-12 01:08:43 字數 1582 閱讀 2522

穿過幽谷意味著離大魔王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

題意:乙個兩維的方格陣列,從左上角走到右下角,每個格仔裡都有乙個數字k ( |k|<100 ),每一步(從(x,y)走)有三種走法:向下走乙個格(x+1,y)、向右走乙個格(x,y+1)或者(x,y*k) ,k為大於等於2的整數,走過的數字將累加。問:到達右下角時最大值為多少?

思路:乙個比較簡答的dp題,先列遍歷,再對每一行遍歷,每乙個格的最大值為當前格仔原有的值加上所有的可能的上一步的最大值。注意格仔裡值的範圍,有可能為負數。

並且這道理一開始沒看明白什麼意思,問了同學,找到了思路

#include 

#include 

#include 

#include 

using

namespace

std;  

intc,n,m;  

intdp[21][1001];  

intcmax(

inti,

intj)  

intmain()    }

printf("%d\n"

,dp[n][m]);  

}  return

0;  

}  

Android APP右上角通知開發

借鑑部落格 在開始之前,先宣告一下。其實本來android原生系統是不支援應用桌面角標 badgenumber 顯示的。我們目前看到的能支援應用桌面角標顯示的android系統,都是第三方廠商自己定製的。通過實現一套自己的launcher並且提供外部介面給第三方應用來呼叫即可。第二,本文中涉及到的方...

python給pdf右上角蓋章

function 給pdf新增水印 公章 from pypdf2 import pdffilewriter,pdffilereader 所有路徑為絕對路徑 def add watermark pdf file in,pdf file mark,pdf file out pdf output pdff...

小程式 右上角的分享

id 預設是當前頁面,必須是以 開頭的完整路徑 imgurl 自定義路徑,可以是本地檔案路徑 包檔案路徑或者網路路徑,支援png及jpg,不傳入 imageurl 則使用預設截圖。顯示長寬比是 5 4 success function res fail function else console.l...