Young_20220202 2022-07-16 13:53 采纳率: 66.7%
浏览 109

为什么我此题错了?请求帮助

原题

题目描述

有两个士兵对战,第一名的血量为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;
}

这个答案应该是正确,为何错了??

  • 写回答

1条回答 默认 最新

  • 白日梦想家167 2022-07-16 14:33
    关注

    第十三行条件写错了应该是o2>o1

    评论

报告相同问题?

问题事件

  • 修改了问题 7月16日
  • 创建了问题 7月16日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。