CODE VS 1043 方格取數

2021-07-10 23:40:55 字數 988 閱讀 4719

code[vs] 1043 方格取數

設有n * n的方格圖(n<=10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路上,他可以取走方格中的數.此人從a點到b 點共走兩次,試找出2條這樣的路徑,使得取得的數之和為最大。

跟傳紙條是乙個題,不過有了新的體會.

dp[x1][y1][x2][y2] = max:{dp[x1-1][y1][x2-1][y2],dp[x1-1][y1][x2][y2-1],dp[x1][y1-1][x2][y2-1],dp[x1][y1-1][x2][y2-1]} + a[x1][y1];

if(x1!=x2 && y1 != y2) dp[x1][y1][x2][y2] += a[x2][y2]; 

//這下清晰了吧....

#include

#include

#include

#include

#include

#define ll long long

using

namespace

std;

const

int n = 58;

int dp[n][n][n][n];

int a[n][n];

int main()

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

for(int j = 1; j <= n; j++)

for(int k = 1; k <= n; k++)

for(int h = 1; h <= n; h++)

printf("%d\n", dp[n][n][n][n]);

return

0;}

codevs 1043 方格取數

設有n n的方格圖 n 10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。如下圖所示 見樣例 某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路上,他可以取走方格中的數 取走後的方格中將變為數字0 此人從a點到b 點共走兩次,試找出2條這樣的...

Codevs1043 方格取數

設有n n的方格圖 n 10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。如下圖所示 見樣例 某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路上,他可以取走方格中的數 取走後的方格中將變為數字0 此人從a點到b 點共走兩次,試找出2條這樣的...

codevs T1043 方格取數

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解檢視執行結果 設有n n的方格圖 n 10,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。如下圖所示 見樣例 某人從圖的左上角的a 點出發,可以向下行走,也可以向右走,直到到達右下角的b點。在走過的路...