洛谷 P1541 烏龜棋

2022-08-11 01:09:18 字數 714 閱讀 5035

洛谷p1541

tag:揹包

在一行n個格仔上進行遊戲,每個格仔有乙個分數a[i]。你在1號格仔,每次可以向前走1/2/3/4個格仔,每種走法限制最多走b1/b2/b3/b4次。一次走法的分數是走過的格仔的分數和。問走到n號格仔的最大分數。

保證b1+2b2+3b3+4*b4=n+1(恰好走完所有的次數)

n<=350,a[i]<=100,bi<=40

【冷靜分析】

這應該是個四維的dp,思想與揹包相似

對於四種卡abcd,上一張取還是不取就是揹包的思想

dp[a][b][c][d]:表示你出了a張爬行牌1,b張爬行牌2,c張爬行牌3,d張爬行牌4時的得分

當前位置r=a1+b2+c3+d4+1(從格仔1開始走的)

標程:

#includeusing namespace std;

int dp[42][42][42][42],n,m,score[351],num[5];

int main()

dp[0][0][0][0]=score[1];

for(int i=0;i<=num[1];i++)

for(int j=0;j<=num[2];j++)

for(int k=0;k<=num[3];k++)

for(int l=0;l<=num[4];l++)

cout

}

洛谷 P1541 烏龜棋

題目背景 小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別...

洛谷P1541 烏龜棋

小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別的卡片上分...

洛谷P1541 烏龜棋

小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡片中不一定包含所有4種型別的卡片,見樣例 每種型別的卡片上分...