3×3のライツアウトの解法
ライツアウトとは
ライツアウトは、90年代の日本で流行したパズルゲームです。
n×nのセルの中から任意のセルをタップすることで、それ自身とそれに隣接するセルの点灯・消灯が切り替わります。
例えば、上図の状態で真ん中のセルをタップすると、下図ようになります。
このような操作を繰り返し、最終的に全てのセルを消灯(=ライツアウト)させることができればクリアです。
注意
ひとつ注意点として、本記事で紹介する解法は、そのセルをタップすべきか、すべきでないかを、ひとつずつ吟味してゆくという地道な方法です。
確実ではありますが、スマートではありません。
あくまで数ある解法のうちのひとつであることをご理解いただけると幸いです。
解法
本記事では、例題と併せて解説していきます。
下図が例題です。
セルの分類
便宜上、セルを下図のように$${A,B,C}$$の3種類に分類する必要があります。中心のセルをセル$${C}$$、セルCに隣接するセルをセル$${B}$$、四隅のセルをセル$${A}$$と名付けます。
操作1:セルA
まずはセル$${A}$$について吟味します。下図をご覧ください。
青色の枠で囲ったセルをタップするかどうか判断するためには、赤色のセルが点灯しているかどうか確認する必要があります。
赤色のセルのうち、点灯しているセルの数を数えてください。
その合計が奇数なら青色の枠で囲ったセルをタップし、偶数ならそのまま放置です。
例題では上記に該当するセルの合計が偶数個なので、そのまま放置です。
それが終わったら他の$${A}$$のセルでも対称性を用いて同様の操作を行なってください(どのような順番で行なっていただいても構いません)。
すると、例題が下図のような状態になるはずです。
操作2:セルB
次に$${B}$$のセルについて吟味します。下図をご覧ください。
$${A}$$の場合と少し異なりますが、行なう操作は変わりません。
再び赤色のセルのうち点灯しているセルの数を数えてください。
その合計が奇数なら青色の枠で囲った$${B}$$のセルをタップし、偶数ならそのまま放置です。
あとは対称性を用いて他の$${B}$$のセルでも同様の操作を行なってください。
すると、例題が下図のような状態になるはずです。
操作3:セルC
操作1と操作2を行った後は、セルが全て消灯した状態か、下図のような十字形にセルが点灯した状態にしかなりません。それ以外の状態になってしまった方は操作1と操作2をもう一度行なってみてください。
あとは$${C}$$のセルをタップすれば全てのセルが消灯しクリアとなります。(最短5手)
最後に
ここまで読んでくださり有り難うございます。
注意書きにも記したとおり、本記事で示した解法は非常に地道なもので、全く以ってスマートでもエレガントでもありません。
何も考えずテキトーにポチポチやってた方が案外早く解けてしまうかもしれませんね。
ただ、「最短手で解かなければならない」という条件下であれば、この解法もあながち無用の長物ではないというところでしょうか。
この解法の数学的背景のにつきましては、次の記事で紹介する予定ですので、興味のある方は是非ご一読ください。
それではまたお会いしましょう。