公式

C - Domino in Tetromino 1 解説 by sounansya


まず、A, B はそれぞれ Bob, Alice しか着手できない形のため、Alice, Bob はそれぞれこれらの形を C, D のいずれにも着手できなくなった場合に着手するとして良いです。

また、C はAlice が先に置くとそれ以降誰も置けなくなり、Bob が先に置くと Alice のみが \(1\) 回着手できる盤面になります。D についても同様です。

自身のみが着手できる盤面は最後に着手するとして良いことを踏まえると、最初の \(C+D\) 回で C, D を全て着手し、それ以降自身の身が着手できる盤面を消費し合うことが両者にとって最適となります。

最初の \(C+D\) 回で Alice が着手できる回数は \(\displaystyle \left\lceil\frac{C+D}2\right\rceil\) 回、Bob が着手できる回数は \(\displaystyle \left\lfloor\frac{C+D}2\right\rfloor\) 回です。

\(T=\displaystyle \left\lceil\frac{C+D}2\right\rceil\) とします。

Alice が最初の \(T\) 回で C に \(x\) 回着手したとします。このとき、最初の \(C+D\) 回で Alice は D に \(\displaystyle T-x\) 回、Bob は C に \(C-x\) 回、D に \(D-T+x\) 回着手します。したがって、\(C+D\) 回が終わった後 Alice は \(2B+D-T+x\) 回、Bob は \(2A+x\) 回着手することができます。この差は \(2(B-A)+D-T\) 回であり、\(x\) に依存しません。

もし \(T\) が偶数の場合、\(C+D\) 回のあと Alice から始まるので Alice が勝つ条件は \(2(B-A)+D-T>0\) です。\(T\) が奇数の場合は \(2(B-A)+D-T\geq 0\) です。これらの条件はまとめて \(4(B-A) > C-D\) と書くことができます。

以上より、\(4(B-A) > C-D\) が成り立つならば Alice が、成り立たないならば Bob が勝ちます。


この問題はゲームの値と呼ばれる概念を用いることでより簡単に解くことができます。

A, B, C, D それぞれのゲームの値は \(\displaystyle -2,2,-\frac12,\frac12\) となります。

ゲームの値が全て有理数値である場合はそれらの総和が \(0\) より大きければ先手必勝、\(0\) 以下であれば後手必勝と判定できます。したがって、\(\displaystyle -2A+2B-\frac12C+\frac12D>0\) が成り立つならば Alice が、成り立たないならば Bob が勝つ、と判定できます。