これは整理するのが大変!!!
問題概要
高橋君は 個のアメを持っていて、青木君は 個のアメを持っている。
交互に自分のアメを食べていき、先に食べられなくなった方が負けである。 ならば高橋君が先手、 ならば青木君が後手。
どちらか勝つか?
解法
落ち着いて整理して考えよう。まず......
- の方が多いときは、どちらが先手であっても、高橋君が勝つ
- の方が多いときは、どちらが先手であっても、青木君が勝つ
ということを確認しておこう (ぜひ実験してみて確かめよう!)。
その上で、 の場合が問題となる。この場合は
- 先手が高橋君のとき () は、高橋君が先にアメがなくなるので、青木君の勝ち
- 先手が青木君のとき () は、青木君が先にアメがなくなるので、高橋君の勝ち
となる。
#include <bits/stdc++.h> using namespace std; string taka = "Takahashi"; string aoki = "Aoki"; int main() { int A, B, C; cin >> A >> B >> C; string res; if (A > B) res = taka; else if (A < B) res = aoki; else if (C == 0) res = aoki; else res = taka; cout << res << endl; }