パズルを解いてみる
[結] 2006年10月 - 結城浩の日記より。
奇数×奇数、奇数×偶数の時は先手必勝、偶数×偶数の時は後手必勝なので、9×9 マスの場合は先手必勝です。
このゲームは真似碁をされると手の打ちようがありません。
奇数×奇数
先手は中央の 1 マスをまず陣地にする。後は後手が陣地にした場所に対して 180°回転対称な位置を常に陣地にするようにする。
奇数×偶数の場合
先手は中央の 2 マス(縦が奇数 n、横が偶数 m の場合は上から (n+1)/2 列目左から m/2、m/2+1 番目のマス)をまず陣地にする。後は奇数×奇数の場合と同様に後手の 180°回転対称な位置を陣地にしていけばよい。
偶数×偶数の場合
後手は先手が陣地にした場所に対して 180°回転対称な位置を常に陣地にするようにする。
追記:「中心に対して点対称な位置に置く」または「形が180°回転対称 性を保つように陣地を決める」と書くべきだったかな。
追記
smoking186 さんが円筒とトーラスにも挑戦しているのを見て私もやりたくなった。
円筒形
円周方向 1,2 列の場合
平面の時と同じ。
円周方向が 4 以上の偶数 n 列の場合
後手必勝。先手が陣地にした場所から円周方向に n/2 マス平行移動したところを陣地にするようにする。
高さ方向が偶数列なら平面の時と同様のやりかたでもよい。
円筒の高さ方向 1 列、円周方向 3 列以上の場合
後手必勝。先手が陣地を取った残りは縦 1 列の平面と同じ。
円筒の高さ方向 2 列、円周方向 3 以上の奇数列の場合
先手必勝。先手が高さ方向に並んだ 2 マスをとると、残りは縦 2 列×横偶数列の平面と同じ。
すぐ下のに含まれる。
高さ方向偶数列、円周方向奇数列の場合
先手必勝。平面の時の偶数×奇数の場合と同じやりかた。(最初の一手は円周方向の何列目でもいい。以後そこを中心とみなす。)
他
まだ
トーラス
縦横どちらかが 2 列以下の場合
2 列以下の列を n、もう片方を m とすると、高さ方向 n 列円周方向 m 列の円筒と同じ。
平面の時と同じ。
偶数×偶数の場合
後手必勝。マス目の数が n×m とする。先手が陣地にした場所から (n/2, m/2) マス平行移動した位置を陣地にすればよい。
平面の時と同様のやりかたでもよい。
他
まだ
さらに追記
トーラスで偶数×奇数、ただし両方 3 列以上
後手必勝。偶数 n × 奇数 m 列だとすると、先手が陣地にした場所から (n/2, 0) だけ移動した場所を陣地にすればよい。
奇数×偶数でも同様。