A27724. 龟兔赛跑(race.cpp)问题描述乌龟和兔子正在赛跑。 兔子尽全力每分钟跑 a 米,乌龟尽全力每分钟跑 b 米。从比赛开始,乌龟一直不停的尽全力跑。而兔子却比较偷懒。每过一分钟,兔子都会看看乌龟,如果乌龟在他后面,他就会说“乌龟跑得真慢呀,我就算睡一觉也比乌龟快”,然后躺在地上休息一分钟;如果乌龟与他的位置相同或者跑在他前面,他就会说“乌龟跑得真慢呀,我一下就追上他了”,然后尽全力跑一分钟。已…
填空题
中等
知识点
题目描述
龟兔赛跑(race.cpp)
问题描述
乌龟和兔子正在赛跑。
兔子尽全力每分钟跑 a 米,乌龟尽全力每分钟跑 b 米。从比赛开始,乌龟一直不停的尽全力跑。而兔子却比较偷懒。
每过一分钟,兔子都会看看乌龟,如果乌龟在他后面,他就会说“乌龟跑得真慢呀,我就算睡一觉也比乌龟快”,然后躺在地上休息一分钟;如果乌龟与他的位置相同或者跑在他前面,他就会说“乌龟跑得真慢呀,我一下就追上他了”,然后尽全力跑一分钟。已知整个跑道长 t 米,请问谁先跑到终点?
输入格式
从文件 race.in 中输入数据。
输入一行包含三个整数 a, b, t。
输出格式
输出到文件 race.out 中。
输出一行包含一个拼音,表示谁先到达终点。如果兔子先到终点,输出 tuzi;如果乌龟先到终点,输出 wugui;如果同时到终点,输出 tongshi。
样例输入
3 2 6
样例输出
tongshi
样例说明
第一分钟兔子跑了 3 米,乌龟跑了 2 米。
第二分钟兔子休息,乌龟跑了 2 米到了 4 米的位置。
第三分钟兔子跑了 3 米,乌龟跑了 2 米,同时达到终点。
样例输入
5 3 7
样例输出
wugui
样例输入
5 3 8
样例输出
tuzi
评测用例规模与约定
注意:以下规模是评测时输入数据一定会满足的限制,在你的程序中不需要对这些限制进行检查。对于所有评测用例,1 ≤ b < a ≤ 10000,1 ≤ t ≤ 10000。
参考答案
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
freopen("race.in", "r", stdin);
freopen("race.out", "w", stdout);
int a, b, t;
cin >> a >> b >> t;
int apos = 0, bpos = 0;
for (int i = 1; i <= t / b; i++)
{
if (apos <= bpos)
{
apos += a;
}
bpos += b;
if (apos > t)
{
cout << "tuzi" << endl;
return 0;
}
}
if (apos > bpos && apos < t)
{
cout << "wugui" << endl;
return 0;
}
if ((t - bpos) * a < (t - apos) * b)
{
cout << "wugui" << endl;
}
else if ((t - bpos) * a == (t - apos) * b)
{
cout << "tongshi" << endl;
}
else
{
cout << "tuzi" << endl;
}
return 0;
}
上一题
下一题