第38回
2013年 11月号
|
全てのライトを消せ!(その1) 〜無限ライツアウトの曼陀羅〜
n×nライツアウトに挑戦
|
|
|
解の存在について"New Problem"をクリック、もしくは盤面サイズを変更して、点灯パターンが自動で更新された場合は、解の存在する点灯パターンのみ出現しますが、手動で点灯パターンを変更した場合、盤面サイズによっては解の存在しないパターンになる場合があります。 解が存在しない場合、Hint1/2をクリックすると、"No solution is available."と表示されます。 ヒントについて盤面サイズにより、唯一解となる場合と複数解が存在する場合がありますが、Hint1/2をクリックすると、そのうちの代表解のみを表示します。例えば、5×5の場合は1行目の右から2個のボタンを使用しない解が、4×4の場合は1行目のボタンをどれも使用しない解が、それぞれ代表解となります。 Hint1では、解となる押下パターンのうち上から1行目のみを表示します。(押すべきボタンに一定時間マークが表示されます。) 何も表示されない場合は、代表解においては1行目のボタンは使用しないことを意味します。 掃き出し操作についてライツアウトでは、1行目を消すように2行目を操作し、次に2行目を消すように3行目を操作するというような手順を繰り返すことで、2行目からn行目までのボタンのみを操作して、1行目からn-1行目までを全て消灯することができます。それを、ここでは「掃き出し操作」と呼びます。 Hint1を使用すると、表示された1行目の押下パターンを操作した後、掃き出し操作を行うことで、簡単に全て消灯することができます。また、ヒントを使用しない場合も、まず掃き出し操作を行ってn行目のパターンだけにすることで、それに対応する1行目の押下パターンを考えやすくなります。 行列を使った解法本編記事では、掃き出し操作と行列計算を組み合わせた解法を紹介しており、そこで使用する行列はここに公開してあります。記事を参考にしながら試してみましょう。 |