AtCoder Regular Contest 046 B : 石取り大作戦
解法とその道のり
どこかで見たことある問題だぞ・・・。
でもそのときとは違って、変なルールがないし、
とる数がそれぞれ違うこともあり、
その数なんと10^9
せっかく分けられているので、分けて考える。
A = B
まず、残りの数がA + 1で回ってきたら負け確定というのが分かる。
また、残りの数がA以下で回ってきたら勝利になる。
これを紙に書いてみると、(A+1)のループになっている。
相手を負かす手がどこまで伸びるかを考えてもいい。
なので、(n-1) % (A + 1) < Aか判定して、
そうだったら勝ち、違ったら負けとなる。
A != B
どう考えても大きいほうが有利では? → 1つだけWA
Aのほうが小さくても、N <= Aだったら勝てるので、特殊化。
AC。
Submission #958438 - AtCoder Regular Contest 046 | AtCoder
嘘解法生やして無限にWAしたので気を付けたい・・・。
でもあきらめないで自力で解けたのはうれしい。