D islands打爐石傳說

2021-07-11 07:39:51 字數 2767 閱讀 4992

time limit: 

1000 ms memory limit: 

65536 kb

total submit: 

64 accepted: 

10 page view: 

122status

clarify

description

islands最近在完一款遊戲「爐石傳說」,又名「魔獸英雄傳」。爐石傳說是一款卡牌類對戰的遊戲。遊戲是2人對戰,總的來說,裡面的卡牌分成

2類,一類是法術

牌,另一類是隨從

牌(所謂隨從就是怪物)

。為了簡化問題,現在假設隨從牌

的作用是

召喚乙個具有

一定攻擊力的怪物

,法術牌的作用是給某個隨從增加

一定攻擊力。隨從牌和法術牌

的使用都需要

消耗一定的法力值。現在islands有10點法力值,手上有n張牌(islands最多有10張牌,否者他將會被爆牌

t_t),有些是法術牌,有些是隨從牌。islands現在是大劣勢,他想要是利用這10點法力值使得召喚出來的所有隨從的攻擊力

總和最高(法力值可以不用完)。注意,任何法術牌都必須使用在某個

召喚出來的隨從

上,也就是如果

islands

沒有召喚過隨從,

他將不能使用任何法術

牌。告訴islands他

能召喚的隨從的總

攻擊力最大是多少。

input

首先輸入測試資料組數t(t<=10)

每組資料首先輸入乙個n(0<=n<=10),表示islands有n張牌接下來n行每行輸入3個整數 cost(0<=cost<=10),d(0或者1),w(|w|<=1000)。cost表示該牌的法力值消耗,如果d=0,表示該牌是攻擊力為w的隨從牌,如果d=1,表示是能給乙個隨從增加w攻擊的法術牌。

output

對於每組資料輸出按照格式「case #x: a」(不包括冒號)輸出一行。其中x表示第x組測試資料,a表示對應的答案。

2

11 0 100

11 1 100

case #1: 100

case #2: 0

解法:由於這些選擇項都不大,又是取最大值。而且每張牌只能走一次。所以我們很容易想到這是乙個01揹包。但這個必須至少要有1個隨從牌才能有攻擊力。所以我們可以用dp[2]來表示,dp[1]表示已經有隨從了,這個可以達到。dp[0]表示還沒有使用隨從牌。我們可以寫出狀態轉移方程:如果第i個為隨從牌dp[v][1]=max(dp[v-cost[i]][1]+w[i],dp[v][1],dp[v-cost[i]][0]+w[i]).如果第i個牌不是隨從牌,則dp[v][1]=max(dp[v-cost[i]][1]+w[i],dp[v][1],dp[v][0]=max(dp[v-cost[i]][0]+w[i],dp[v][0]]);因為有所要求得有隨從牌的都是由沒隨從牌的情況推出來的,所以邊界條件:dp[0]=0.dp[i]=-100000000.然後跑一次01揹包即可。

ac:#include

#include

#include

#include

#include

#include

#include

usingnamespacestd;

#define ll  long long int

constintmaxn=100;

intcost[maxn],dp[maxn][2],w[maxn],d[maxn];

intmain()

for(inti=0;i<=10;i++)

for(inti=0;i

else

}

}

ans=0;

for(inti=0;i<=10;i++)

printf("case #%d: %d\n",k,ans);

}

}

islands打爐石傳說

islands 最近在完一款遊戲 爐石傳說 又名 魔獸英雄傳 爐石傳說是一款卡牌類對戰的遊戲。遊戲是兩人對戰,總的來說,裡面的卡牌分成兩類,一類是法術牌,另一類是隨從牌 所謂隨從就是怪物 為了簡化問題,現在假設隨從牌的作用是召喚乙個具有一定攻擊力的怪物,法術牌的作用是給某個隨從增加一定攻擊力。隨從牌...

CCF 爐石傳說

這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。其實只要構建乙個結構體,結構體儲存隨從的health和attack,以及乙個flag表示隨從是否死亡。構建兩個size為8的陣列,用以儲存隨從即可。incl...

CCF爐石傳說

參考了 問題描述 爐石傳說 魔獸英雄傳 hearthstone heroes of warcraft,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作,本題所使用的爐石傳說遊戲的簡化規則如下 玩家會控制一些角色,每個角色有自己的生命值和攻...