问题标题: 酷町堂:5538 龟兔赛跑(race)

0
0
已解决
汪恺恒
汪恺恒
中级启示者
中级启示者

乌龟和兔子正在赛跑。
兔子尽全力每分钟跑a米,乌龟尽全力每分钟跑b米。从比赛开始,乌龟一直不停的尽全力跑。而兔子却比较偷懒。每过一分钟,兔子都会看看乌龟,如果乌龟在他后面,他就会说“乌龟跑得真慢呀,我就算睡一觉也比乌龟快”,然后躺在地上休息一分钟;如果乌龟与他的位置相同或者跑在他前面,他就会说“乌龟跑得真慢呀,我一下就追上他了”,然后尽全力一分钟。

已知整个跑道长t米,请问谁先跑到终点?

输入描述 Input Description

从文件race.in中输入数据。输入一行包含三个整数a, b, t。

输出描述 Output Description

输出到文件race.out中。
输出一行包含一个拼音,表示谁先到达终点。如果兔子先到终点,输出tuzi;如果乌龟先到终点,输出wugui; 如果同时到终点,输出tongshi.

WA60

#include<iostream> 
#include<bits/stdc++.h>
#pragma GCC optimize(2)
#include<cstring>
using namespace std;
int n,na,nb,a,b;
int main(){
    cin>>a>>b>>n;
    while(na<n&&nb<n){
        if(nb>=na){
            na+=a;
            if(na>=n||nb>=n){
                break;
            }
            nb+=b;
        }
        else{
            nb+=b;
        }
        if(na>=n||nb>=n){
            break;
        }
        if(na>nb){
            nb+=b;
        }
        if(na>=n||nb>=n){
            break;
        }
        if(nb>na){
            na+=a;
            if(na>=n||nb>=n){
                break;
            }
            nb+=b;
            if(na>=n||nb>=n){
                break;
            }
        }
    }
    if(na==nb){
        cout<<"tongshi";  
    }
    else if(na>nb){
        cout<<"tuzi";
    }
    else{
        cout<<"wugui";
    }
    return 0;
}

 


0
已采纳
梁逸凡
梁逸凡
资深守护
资深守护

你的代码第一个样例过不了

0
0
我要回答