YTU 2517: 打倒魔王↖(^ω^)↗
2517: 打倒魔王↖(^ω^)↗
时间限制: 1 Sec 内存限制: 128 MB提交: 231 解决: 112
题目描述
从前有一个王子,他喜欢上了邻国的一个公主。终于有一天他向公主表白了,公主答应了他。
在婚礼那天,可恶的魔王来了,他抢走了公主。王子很愤怒(╰_╯)#,他决定打上魔宫救回公主。
临走那天,巫师给了他一本魔法书,让他可以看到自己与敌人的差距,来促使他不断进步。
当王子可以打败怪物时魔法书显示:Trial!,当打不败时显示:You need more power!
怪物的等级比较低,只有被攻击时才会反击,王子会不断地进行攻击,每攻击一次,怪物就反击一次,直到怪物被杀死,或者被怪物杀死。
损失的血量 = 敌人的攻击-自己的防御
//以下代码会自动添加到程序的开始
#include<iostream>
using namespace std;
class Role
{
public:
friend void judge(Role &,Role &);
void input()
{
cin>>HP>>ATK>>DEF;
}
private:
int HP;
int ATK;
int DEF;
};
//以下请给出 成员函数judge
//以下代码会自动添加到程序的末尾
int main()
{
Role monster,prince;
monster.input();
prince.input();
judge(monster,prince);
return 0;
}
输入
输入有多行
第一行:怪物的属性:血量,攻击,防御;
第二行:王子的属性:血量,攻击,防御。
输出
打不过怪物时输出:You need more power!,否则输出:Trial!。
样例输入
9 6 2
8 5 3
样例输出
Trial!
提示
例如
9 6 2
8 5 3
表示怪物有9点血,6点攻击,2点防御
王子有8点血,5点攻击,3点防御
王子攻击怪物一次,由题意可知
怪物损失3点血
怪物反击王子一次
王子损失3点血
现在的状态
6 6 2
5 5 3
。
。
。
最后王子剩了2点血
可以杀死怪物
输出Trial!
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include<iostream> using namespace std; class Role { public: friend void judge(Role &,Role &); void input() { cin>>HP>>ATK>>DEF; } private: int HP; int ATK; int DEF; }; void judge(Role &a,Role &b) { int n=a.HP/(b.ATK-a.DEF); if(n*(b.ATK-a.DEF)<a.HP)n++; if((a.ATK-b.DEF)*(n-1)<b.HP) cout<<"Trial!"<<endl; else cout<<"You need more power!"<<endl; } int main() { Role monster,prince; monster.input(); prince.input(); judge(monster,prince); return 0; }