給定乙個\(n\times n\) 的方格,只能向下和向右行走,有些方格上有一些數字,其餘為\(0\),每個數字只能取一次,乙個人從左上角走到右下角兩次能夠取得的數字最大是多少
\(1 \leq n \leq 9\)
兩個人同時走,四維分別表示兩個人,如果兩人的路線相同那麼只能加一次即可
#includeusing namespace std;
#define rep(i,a,n) for(int i=a;iconst int n=110;
int n;
int a[n][n];
int f[n][n][n][n];
int main()
printf("%d\n",f[n][n][n][n]);
}
動規之 方格取數(dp 四維陣列)
題目描述 設有 n times n n 的方格圖 n le 9 n 9 我們將其中的某些方格中填入正整數,而其他的方格中則放入數字 0。如下圖所示 見樣例 a 00 0000 0000 13006 0000 0070 0000 01400 00021 0004 0000 15000 00014 00...
Acwing 1027 方格取數(四維dp)
傳送門 設有 n n 的方格圖,我們在其中的某些方格中填入正整數,而其它的方格中則放入數字0。如下圖所示 某人從圖中的左上角 a 出發,可以向下行走,也可以向右行走,直到到達右下角的 b 點。在走過的路上,他可以取走方格中的數 取走後的方格中將變為數字0 此人從 a 點到 b 點共走了兩次,試找出兩...
洛谷P1004 方格取數 四維DP
設有 n times nn n 的方格圖 n le 9 n 9 我們將其中的某些方格中填入正整數,而其他的方格中則放入數字 00 如下圖所示 見樣例 a 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0 14 0 0 0 0 0 21 0 ...