Earthstone is a famous online card game created by Lizard Entertainment. It is a collectible card game that revolves around turn-based matches between two opponents.
Players start the game with a substantial collection of basic cards, but can gain rarer and more powerful cards through purchasing packs of additional cards, or as rewards for competing in the arena. Card packs can be purchased with gold, an in-game currency
rewarded for completing random daily quests and winning matches, or by using real money in the in-game store.
Each Earthstone battle is a one on one turn-based match between two opponents. During a player‘s turn, he can choose to play any of his cards and command the minions to attack
targets. Those played cards will be placed on the table as they are ‘summoned‘ as minions. Each card has two basic attributes:
- Attack Ai: If a minion attacks a character or was attacked, it will deal Ai points of damage to the opponent. A character whose attack value is zero cannot actively attack.
- Health Hi: The minion has Hi points of initial health. After being damaged, the minion‘s health will decrease by the corresponding damage value. The minion will be killed and discarded if its health is less than
or equal to zero.If a minion attacks another minion, both of them will receive damage simultaneously.
Given two minions, please calculate the result if the first minion attacked the second one.
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
There are four integers A1, H1, A2 and H2 (0 <= A1, A2 <=10,
1 <= H1, H2 <= 10), which are the attributes of two minions.
Output
For each test case, output "Invalid" (without quotes) if the first minion cannot attack, otherwise output the minions attributes as the format in input. If the minion is killed, output
"Discard" instead (without quotes).
Sample Input
3 3 3 2 4 3 2 2 5 0 3 2 2
Sample Output
3 1 2 1 Discard 2 2 Invalid
还是签到题不解释
#include <iostream> #include <stdio.h> #include <string.h> #include <stack> #include <queue> #include <map> #include <set> #include <vector> #include <math.h> #include <algorithm> using namespace std; #define ls 2*i #define rs 2*i+1 #define up(i,x,y) for(i=x;i<=y;i++) #define down(i,x,y) for(i=x;i>=y;i--) #define mem(a,x) memset(a,x,sizeof(a)) #define w(a) while(a) #define LL long long const double pi = acos(-1.0); #define Len 100005 #define mod 1000000007 int n,a1,h1,a2,h2; int main() { scanf("%d",&n); w(n--) { scanf("%d%d%d%d",&a1,&h1,&a2,&h2); if(a1<=0) printf("Invalid\n"); else { h1-=a2; h2-=a1; if(h1<=0) printf("Discard "); else printf("%d %d ",a1,h1); if(h2<=0) printf("Discard\n"); else printf("%d %d\n",a2,h2); } } return 0; }