题目描述
话说ACM王国住着一位美丽的月光女孩,大家都很喜欢她。突然有一天,王国闯进来一个邪恶的死亡骑士,把月光女孩绑架了。ACM王国的人民愤怒了,纷纷表示要讨伐死亡骑士。你作为王国里最有名的勇士,自告奋勇接受了这个危险而光荣的任务——击败死亡骑士,救回月光女孩。 死亡骑士的生命值是L1,攻击力是A1。你的生命值是L2,攻击力是A2。战斗采用回合制。每回合你先进行攻击(对方生命减A2);然后死亡骑士将毫不犹豫地对你进行反击(你的生命减A1)。当一方的生命小于等于0时,就被打败。你需要尽可能快救出月光女孩。当然也有可能死亡骑士过于强大,你怎么打都难逃败局。
输入
输入仅一行,有四个整数,分别是L1,A1,L2,A2。1<=L1,L2<=1000000,1<=A1,A2<=1000。
输出
如能取胜,输出最快可以在第几回合打败死亡骑士。如果无法取胜,输出Sorry,Miss Moonlight。
样例输入
20 4 26 5
样例输出
4
提示
不可能无休止打下去。
代码如下
#include<iostream>
using namespace std;
int main()
{
long int L1, a1; // 死亡骑士的生命和攻击
int L2, a2; // 我的生命和攻击
cin >> L1 >> a1 >> L2 >> a2;
int c = 0;
while (L2 > 0)
{
L1 = L1 - a2; // 我先进行攻击,死亡骑士扣血
L2 = L2 - a1; // 死亡骑士攻击,我扣血
c++;
if (L1 <= 0) // 如果死亡骑士先死,则输出回合数
{
cout << c;
return 0;
}
}
if (L1 > 0) // 如果死亡骑士比我死的晚,则无法救出月光女孩
{
cout << "Sorry,Miss Moonlight";
}
return 0;
}