islands 最近在完一款遊戲「爐石傳說」,又名「魔獸英雄傳」。
爐石傳說是一款卡牌類對戰的遊戲。
遊戲是兩人對戰,總的來說,裡面的卡牌分成兩類,一類是法術牌,另一類是隨從牌(所謂隨從就是怪物)。
為了簡化問題,現在假設隨從牌的作用是召喚乙個具有一定攻擊力的怪物,法術牌的作用是給某個隨從增加一定攻擊力。
隨從牌和法術牌的使用都需要消耗一定的法力值。
現在 islands 有 10
1010
點法力值,手上有 n
nn 張牌(islands 最多有 10
1010
張牌,否者他將會被爆牌 t_t),有些是法術牌,有些是隨從牌。
islands 現在是大劣勢,他想要是利用這 10
1010
點法力值使得召喚出來的所有隨從的攻擊力總和最高(法力值可以不用完)。
注意,任何法術牌都必須使用在某個召喚出來的隨從上,也就是如果 islands 沒有召喚過隨從,他將不能使用任何法術牌。
告訴 islands 他能召喚的隨從的總攻擊力最大是多少。
輸入格式
每組資料首先輸入乙個 n(0
≤n≤10
)n(0 \le n \le 10)
n(0≤n≤
10),表示 islands 有 n
nn 張牌。
接下來 n
nn 行,每行輸入 3
33 個整數 cos
t(0≤
cost
≤10
)cost(0 \le cost \le 10)
cost(0
≤cos
t≤10
),dd
d(00
0 或者 1
11),w(∣
w∣
≤1000
)w(|w| \le 1000)
w(∣w∣≤
1000
)。其中 cos
tcost
cost
表示該牌的法力值消耗,如果 d=0
d=0d=
0,表示該牌是攻擊力為 w
ww 的隨從牌;如果 d=1
d=1d=
1,表示是能給乙個隨從增加 w
ww 攻擊的法術牌。
輸出格式
輸出一行表示答案。
樣例輸入
1樣例輸出 解:1 0 100
二進位制列舉,不用考慮使用順序,法術牌看似需要隨從牌使用後使用,實際上不用考慮那麼多,只需要考慮本次情況中是否有隨從牌就好,不用考慮使用的先後順序。
列舉中計算最大攻擊的條件:
1.費用≤
\le≤ 10
2.由法術牌使用的話,一定要用隨從牌使用。
**:
#include
"iostream"
#include
"algorithm"
using
namespace std;
intmain()
int flag;
//判斷是否能用法術
for(
int i=
0;i<(1
<;i++
)//列舉所有情況}if
(flag==0)
continue;if
(sum>10)
continue
; max=
max(max,temp);}
cout
}
islands打爐石傳說 01揹包
description islands最近在完一款遊戲 爐石傳說 又名 魔獸英雄傳 爐石傳說是一款卡牌類對戰的遊戲。遊戲是2人對戰,總的來說,裡面的卡牌分成 2類,一類是法術 牌,另一類是隨從 牌 所謂隨從就是怪物 為了簡化問題,現在假設隨從牌 的作用是 召喚乙個具有 一定攻擊力的怪物 法術牌的作用...
D islands打爐石傳說
time limit 1000 ms memory limit 65536 kb total submit 64 accepted 10 page view 122status clarify description islands最近在完一款遊戲 爐石傳說 又名 魔獸英雄傳 爐石傳說是一款卡牌類對...
CCF 爐石傳說
這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。其實只要構建乙個結構體,結構體儲存隨從的health和attack,以及乙個flag表示隨從是否死亡。構建兩個size為8的陣列,用以儲存隨從即可。incl...