本文主要是介绍5374: 【数学】最后一击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
小爱和小艾两人组队打一只怪兽。一开始怪兽有 n 点生命值,当 n 变成 0 或更低时,怪兽就被消灭了。他们两人是同时开始攻击的,小爱每分钟可以攻击 a 下,小艾每分钟可以攻击 b 下。若 a=2,b=4,则小爱发出攻击的时刻为
0.5, 1, 1.5, 2, 2.5, ⋯
小艾发出攻击的时刻为
0.25, 0.5, 0.75, 1, 1.25, 1.5, ⋯
攻击分两种类型,普通攻击每次对怪兽造成 1 点伤害。若在某时刻,小爱和小艾恰好一同发出攻击,称为爆击,爆击将对怪兽造成成倍的伤害,共计 (1+1)×2=4 点伤害。
一旦攻击开始,就不会中断,直到怪兽被消灭为止,请问,对怪兽造成最后一点伤害的是哪一位玩家?如果最后一击是两人同时造成的,输出 C(Combo的意思)。
输入
第一行:一个正整数表示 n。
第二行:两个正整数表示 a 与 b。
输出
若是小爱发出了最后一击,输出 A;
若是小艾发出了最后一击,输出 B;
若是两人的爆击为最后一击,输出 C。
样例输入
33 3 5
样例输出
B
Code:
#include<bits/stdc++.h>
using namespace std;
int main(){long long n,a,b;cin>>n>>a>>b;int i=1,j=1;while(n>0){if(i*b==j*a){n-=4;i++,j++;if(n<=0){cout<<"C";return 0;}}else if(i*b<j*a){n-=1;i++;if(n==0){cout<<'A'<<endl;return 0;}}else{n-=1;j++;if(n==0){cout<<'B'<<endl;return 0;}}}return 0;
}
这篇关于5374: 【数学】最后一击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!