Official
A - うさぎとかめ / The Tortoise and the Hare Editorial
by
A - うさぎとかめ / The Tortoise and the Hare Editorial
by
KoD
うさぎがゴールするまでにかかる時間は \(C + \frac{X}{A}\) 秒です。かめがゴールするまでにかかる時間は \(\frac{X}{B}\) 秒です。これらを比較すれば答えが求められます。
いくつかの言語では、整数同士の除算の結果は切り捨てられた値になります。除算を用いずに大小を比較するため、不等式を変形しましょう。
\[\begin{aligned} C + \frac{X}{A} &< \frac{X}{B} \\ \Leftrightarrow ABC + BX &<AX \end{aligned}\]
\(C + \frac{X}{A} = \frac{X}{B}, C + \frac{X}{A} > \frac{X}{B}\) についても同様の変形ができます。結局、\(ABC + BX\) と \(AX\) の比較に帰着されました。これを if 文を用いて実装すればよいです。
実装例 (C++) :
#include <bits/stdc++.h>
using namespace std;
int main() {
int x, a, b, c;
cin >> x >> a >> b >> c;
// c + x / a, x / b
// abc + bx, ax
const int h = a * b * c + b * x, t = a * x;
if (h < t) {
cout << "Hare\n";
} else if (h > t) {
cout << "Tortoise\n";
} else {
cout << "Tie\n";
}
}
posted:
last update:
