islands打爐石傳說

2021-09-09 07:58:37 字數 1916 閱讀 5390

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...