Skyscraper — 数独テクニック
ある数字について、それぞれちょうど二つの候補セルを持つ二行があり、四つの端点のうち二つが同じ列を共有する。残り二つの端点が共通の単位を持つセルは、その数字を失います。
上級者向け 数独テクニック
概要
Skyscraper はもっとも単純な Turbot Fish です。数字を一つ選び、その数字がそれぞれちょうど二つの候補セルしか持たない二行を探します。四つの端点セルのうち二つが同じ列を共有 — これが Skyscraper の「土台」です。残り二つの端点 ——「頂上」—— が制約を決めます:このうち少なくとも一方が必ずその数字を保持します。 なぜか?二つの土台セル(同じ列)では、数字は一列につき高々一度しか現れません。両方の土台セルがその数字を含まなければ、二つの行は両方とも頂上に数字を置かざるを得ず、各行の頂上が数字を保持します。一方の土台セルが数字を保持するなら、もう一方の行の頂上だけが代替となります。いずれにしても、二つの頂上のうち少なくとも一方が数字を保持します。 したがって、両方の頂上を見るセルはすべてその数字を失います。列を起点とするバージョン(二列 + 共有行)は対称的です。
使うべきタイミング
expert の問題で Swordfish や X-Wing が決まらないときに使います。端点列を共有する二つの行の strong link を探すと見つかります。
実例
数字 6 は 2 行目では R2C3 か R2C8 にしか入りません。7 行目では R7C3 か R7C5 にしか入りません。R2C3 と R7C3 が土台(共有列は 3 列)、R2C8 と R7C5 が頂上です。頂上のうち少なくとも一方には 6 が入ります。R7C8 は 8 列を通じて R2C8、7 行を通じて R7C5 を見ます — したがって R7C8 は候補から 6 を外します。
試してみる
Sudoku247Online のソルバーは、任意のパズルを論理的な一手ごとに案内し、各配置を正当化するテクニック名を教えてくれます。パズルを貼り付けて、このテクニックがリアルタイムで適用される様子を見てみましょう。