とりあえず, \(A,B\) の大小で場合分けする. もしかしたら,場合分けは不要かもしれないけど. 今ある石の個数を \(s\) とおく.
Case 0 : \(A \leq B\)
- \(s \geq A\) のとき,Alice は取れるだけ取れば 残りは \(r < A\) 個残るので,仮定\(A \leq B\) より Alice の勝ち.
- \(s < A\) のとき,Alice は取れないので負け.
Case 1 : \(A > B\)
- \(s \geq A\) のとき,Alice は取れるだけ取るしかない. なぜなら,少なく取ってしまうと,Bob にとって Case 0 における勝ちパターンに 入ってしまうから.
Alice が取れるだけ取ったとする. このとき残りは \(r = s % A\) 個であり,Bob が勝つかは Case 0 に帰着. すなわち, \(r < B\) のとき Alice が勝ち, \(r \geq B\) のとき Alice が負ける. - \(s < A\) のとき,Alice は取れないので負け.
まとめ
- \(s < A\) のとき,Alice は負け.
- \(s \geq A\) のときは,Alice は取れるだけ取るのが最善. このとき,残りの個数は \(r = s % A\) になり,
- \(r < B\) なら Alice の勝ち,
- \(r \geq B\) なら Alice の負け.
使っている記号,マクロ等 "https://ecsmtlir.hatenablog.com/entry/2022/12/23/131925"