p1541 烏龜棋
解題思路:因為當前的狀態與我們用過的牌有關,所以用乙個四維陣列記錄當前已經用掉的牌數dp[a][b][c][d],這個狀態可以由上乙個狀態dp[a - 1][b][c][d]、dp[a][b - 1][c][d]、dp[a][b][c - 1][d]、dp[a][b][c][d - 1]轉移而來。所以我們可以列舉每種牌的數量,計算使用當前狀態的牌到達的位置即可。
for
(int a =
0; a <= f[1]
; a++)}
}}
**:
#include
using
namespace std;
const
int maxn =
1000
;int n, m;
int dp[50]
[50][
50][50
],num[maxn]
,f[maxn]
,temp;
intmain()
for(
int i =
1; i <= m; i++
) dp[0]
[0][
0][0
]= num[1]
;for
(int a =
0; a <= f[1]
; a++)}
}}cout << dp[f[1]
][f[2]
][f[3]
][f[4]
]<< endl;
return0;
}
洛谷 P1541 烏龜棋
題目背景 小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別...
洛谷P1541 烏龜棋
小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別的卡片上分...
洛谷P1541 烏龜棋
小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別的卡片上分...