FZU 2234 牧場物語(多程序dp)

2021-08-04 08:37:24 字數 1155 閱讀 2812

problem 2234 牧場物語

小茗同學正在玩牧場物語。該遊戲的地圖可看成乙個邊長為n的正方形。

小茗同學突然心血來潮要去砍樹,然而,斧頭在小茗的右下方。

小茗是個講究效率的人,所以他會以最短路程走到右下角,然後再返回到左上角。並且在路上都會撿到/踩到一些物品,比如說花朵,錢和大便等。

物品只能被取最多一次。位於某個格仔時,如果格仔上還有物品,就一定要取走。起點和終點上也可能有物品。

每種物品我們將為其定義乙個價值,當然往返之後我們取得的物品的價值和越大越好。但是小茗同學正在認真地玩遊戲,請你計算出最大的價值和。

多組資料(<=10),處理到eof。

第一行輸入正整數n(n≤100),表示正方形的大小。

接下來共n行,每行n個整數ai,j(|ai,j|≤10^9),表示相應對應位置上物品的價值。值為0表示沒有物品。

每組資料輸出乙個整數,表示最大價值和。

211 1416 12 53

福州大學第十三屆程式設計競賽

三維多程序dp 

思維的會炸記憶體的;

dp【k】【x1】【x2】

k代表的是走的步數

這個題我們可以看作兩個人一起出發到達(n,n)

x1,y1,x2,y2;

y=k-x1+2;

#include#include#includeusing namespace std;

#define ll long long

ll const n = 1e18;

ll m[103][103];

ll dp[205][103][103];

int main()

}for(int k=0; k<=2*n-2; k++)

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

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

dp[k][i][j]=-n;

dp[0][1][1]=m[1][1];

for(int k=1; k<=2*n-2; k++)

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

printf("%i64d\n",dp[2*n-2][n][n]);}}

FZU 單詞問題

給出乙個完整的句子,這個句子中不包含不可見字元或者空格,於是在這個句子中有許多不同的單詞。乙個單詞是指一串連續的最長的英文本母 大寫或小寫 例如 abc 中,abc 就是乙個單詞,而 ab bc 都不算單詞。輸入包含多組資料 輸入資料第一行是乙個句子,只包含可見字元 不包含空格 句子長度不超過 10...

fzu 單詞問題

description 給出乙個完整的句子,這個句子中不包含不可見字元或者空格,於是在這個句子中有許多不同的單詞。乙個單詞是指一串連續的最長的英文本母 大寫或小寫 例如 abc 中,abc 就是乙個單詞,而 ab bc 都不算單詞。input 輸入包含多組資料 輸入資料第一行是乙個句子,只包含可見字...

poj 2234基礎Nim博弈 sg博弈

poj 終於突破200大關了,mark一下。hdu也快要300了。加油 題意 有n堆石子,每人每次可以從一堆中拿走任意多個,兩人輪流操作,誰無子可取誰輸。輸入n堆石子各自的數量,輸出先手是否能贏。分析 np問題,必勝態n next player wins 必敗態p previous player w...