原题
题目描述
有两个士兵对战,第一名的血量为a1,伤害为b1,攻击速度为b1点伤害/每v1秒,第二名的血量为a2,伤害为b2,攻击速度为b2点伤害/每v2秒。现在请你判断他们谁胜谁负,即某一时刻一方生命值为0时,另一方获胜。
注意:攻击指的是每v秒一次性造成b点伤害,在第0秒双方会互相攻击一次。
输入
仅一行,六个正整数a1, b1, v1, a2, b2, v2。
输出
仅一行,一个字符,如果第一个士兵获胜,则输出一个字符A,如果第二个士兵获胜,则输出一个字符B,否则输出0。
样例输入
1000 100 2 500 250 3
样例输出
A
提示
对于30%的数据,a1,b1,v1,a2,b2,v2≤1000。
对于100%的数据,0<a1,b1,v1,a2,b2,v2≤5×104。
这其实是一道简单的题目
我想了想,写了这么个程序
#include<bits/stdc++.h>
#define chu(a,b) a/b+((a%b)>0?1:0)
using namespace std;
int a1,b1,v1,a2,b2,v2;
long long o1,o2;
int main(){
scanf("%d %d %d %d %d %d",&a1,&b1,&v1,&a2,&b2,&v2);
a1-=b2;
a2-=b1;
o1=chu(a1,b2)*v2,o2=chu(a2,b1)*v1;
if(o1>o2)
puts("A");
else if(o1>o2)
puts("B");
else
puts("0");
return 0;
}