SRM 598 div2 hard: FoxAndFencingEasy
解法
- mov1 >= abs(d) なら, 一回で Ciel さんが Liss さんに追いつけるので, Ciel の勝ち
- そうでない場合,
- mov1 > 2*mov2 なら, 最初に近づいた時, mov2 以内に近づかないでかつ次に相手がどう動こうと mov1 以内に Liss を捉えることができるので, Ciel の勝ち
- mov2 > mov1*2 なら同様の理由で Liss の勝ち
- 他の場合は睨み合いになるので引き分け
class FoxAndFencingEasy { public: string WhoCanWin(int mov1, int mov2, int d) { if (abs(d) <= mov1) return "Ciel"; if (mov2 > 2*mov1) return "Liss"; if (mov1 > 2*mov2) return "Ciel"; return "Draw"; } };