南陽理工OJ 題目712 探 尋 寶 藏

2021-06-21 23:18:56 字數 801 閱讀 9344

雙線dp問題,在網上找了好幾個題解才把思路理清...

/*

d[k][i][j]表示第k步,第一條線在i行,第二條線在j行時收集的寶藏

由於每次僅走一步,所以第一條線座標(i, k-i),第二條線座標(j, k-j)

狀態轉移方程:

d[k][i][j] = max

在第k-1步時,由於是雙線,每條線均有兩種行走方式到達狀態(i, j),

因此共有四種狀態可以由k-1步到k步,在這四種狀態中取最大的

ps:由於本人也是新手,"狀態"一詞可能濫用了

*/#include #include using namespace std;

int dp();

int a[55][55];

int d[110][55][55];

int m;

int n;

int main()}/*

為解決線路交叉問題,第一條線路從(1, 2)開始,即向右

第二條線路從(2, 1)開始,向下

對(m, n)進行特殊處理,因此k: 3 -> m+n-1

如果設1號機械人走的是下邊的路線,2號機械人走的是右邊的路線,

由於路線不相交,所以1號機械人第一步是往下的,而2號機械人是往右的,

而到達終點前1號機械人不會達到第n列,同樣2號機械人不會到達第m

*/int dp()}}

d[m+n][m][m] = d[m+n-1][m-1][m] + a[m][n];

return d[m+n][m][m];

}

NYOJ712 探尋寶藏

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 傳說hmh大沙漠中有乙個m n迷宮,裡面藏有許多寶物。某天,dr.kong找到了迷宮的地圖,他發現迷宮內處處有寶物,最珍貴的寶物就藏在右下角,迷宮的進出口在左上角。當然,迷宮中的通路不是平坦的,到處都是陷阱。dr.kong決定讓...

nyoj 712 探 尋 寶 藏

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 傳說hmh大沙漠中有乙個m n迷宮,裡面藏有許多寶物。某天,dr.kong找到了迷宮的地圖,他發現迷宮內處處有寶物,最珍貴的寶物就藏在右下角,迷宮的進出口在左上角。當然,迷宮中的通路不是平坦的,到處都是陷阱。dr.kong決定讓...

nyoj 712探 尋 寶 藏

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 傳說hmh大沙漠中有乙個m n迷宮,裡面藏有許多寶物。某天,dr.kong找到了迷宮的地圖,他發現迷宮內處處有寶物,最珍貴的寶物就藏在右下角,迷宮的進出口在左上角。當然,迷宮中的通路不是平坦的,到處都是陷阱。dr.kong決定讓...