测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题