Execution of Paladin
Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
Murloc is a powerful race in Hearthstone. In the set League of Explorers, a new Paladin ability card called Anyfin Can Happen is released with the ability to summon 7 Murlocs that died this game. If there aren’t enough dead Murlocs, it may summon less than 7 Murlocs.
There are many different minions in Murloc race, here are four of them:
Coldlight Oracle: 3 MANA, 2 ATTACK, 2 HP. Battlecry: Each player draws 2 cards.
Murloc Warleader: 3 MANA, 3 ATTACK, 3 HP. ALL other Murlocs have +2/+1.
Bluegill Warrior: 2 MANA, 2 ATTACK, 3 HP. Charge.
Old Murk-Eye: 4 MANA, 2 ATTACK, 3 HP. Charge. Has +1 Attack for each other Murloc on the Battlefield.
Here are some explanations:
MANA: The cost of summon the minion. Minions summoned by ability cards cost no mana besides the cost of the ability cards. Every player has 10 MANAs at most.
ATTACK: How many damage can the minion make once.
HP: How many attacks can the minion or heroes take.
Battlecry: An ability where a particular effect activates when the card with the Battlecry is played directly from the hand. The minions summoned by ability won’t activate their Battlecry.
Charge: Minions cannot attack at once when they are summoned unless they have Charge description. They will have to wait until next turn.
Battlefield: The battlefield (or game board) is where the action takes place, representing the board on which each game is played out.
+2/+1: +2 ATTACK and +1 HP.
Now, it is your turn. You have 10 MANAs and only one card: Anyfin Can Happen. There are nothing on the Battlefield, which means your minions can directly attack enemy hero. You can remember the list of dead Murlocs. You know how many HP the enemy hero remains. Will you win this game through this only card you have?
输入
The first line of each test contains two integers, n (the number of dead Murlocs, 0 <= n <= 7) and h (the HP of enemy hero, 0 < h <= 30).
Then n lines follows, each line contains a string, indicates the name of dead Murloc. The string will only be “Coldlight Oracle”, “Murloc Warleader”, “Bluegill Warrior” or “Old Murk-Eye”.
输出
示例输入
3
3 1
Coldlight Oracle
Coldlight Oracle
Murloc Warleader
3 8
Old Murk-Eye
Old Murk-Eye
Coldlight Oracle
7 30
Old Murk-Eye
Bluegill Warrior
Bluegill Warrior
Murloc Warleader
Murloc Warleader
Coldlight Oracle
Coldlight Oracle
示例输出
Tell you a joke, the execution of Paladin.
Mrghllghghllghg!
Tell you a joke, the execution of Paladin.
提示
In the second test case, every Old Murk-Eye has +2 ATTACK because there is another Old Murk-Eye and a Coldlight Oracle. So the total damage is 8.
In the last test case, Old Murk-Eye has 12ATTACK (2 basic ATTACK, 6 other Murlocs and 2 Murloc Warleader), two Bluegill Warriors has 6 ATTACK(2 basic ATTACK, and 2 Murloc Warleader) each. So the total damage is 24.
来源
题目意思:
Coldlight Oracle:没用;
Murloc Warleader: 给Bluegill Warrior和Old Murk-Eye,每只加2点攻击;
Bluegill Warrior:加2点攻击;
Old Murk-Eye: 加2点攻击,给除了自身其他所有的每只加一点攻击。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define MAXN 10001
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("G:/x/read.txt","r",stdin);
freopen("G:/x/out.txt","w",stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin>>t;
while(t--)
{
int i,num,hp,sum,n1,n2,n3,n;
sum=n1=n2=n3=n=0;
cin>>num>>hp;
char a[MAXN];
cin.getline(a,MAXN);
for(i=0; i<num; ++i)
{
char a[MAXN];
cin.getline(a,MAXN);
if(a[0] == 'M') n2+=2;
else if(a[0] == 'B')
{
n1+=2;
++n;
}
else if(a[0] == 'O')
{
n1+=2;
++n3;
++n;
}
}
sum = n2*n+n1+n3*(num-1);
//cout<<sum<<endl;
if(sum>=hp) cout<<"Mrghllghghllghg!"<<endl;
else cout<<"Tell you a joke, the execution of Paladin."<<endl;
}
return 0;
}
/*
3
3 1
Coldlight Oracle
Coldlight Oracle
Murloc Warleader
3 8
Old Murk-Eye
Old Murk-Eye
Coldlight Oracle
7 30
Old Murk-Eye
Bluegill Warrior
Bluegill Warrior
Murloc Warleader
Murloc Warleader
Coldlight Oracle
Coldlight Oracle
*/
/**************************************
Problem id : SDUT OJ 3569
User name : 吃花的栗鼠
Result : Accepted
Take Memory : 492K
Take Time : 10MS
Submit Time : 2016-06-19 13:35:45
**************************************/