Как решать сложные судоку: методы с примерами

Когда одиночки закончились, а пустых клеток ещё много, судоку не тупик: дальше работают приёмы с пометками. Они не ставят цифру сразу, а вычёркивают лишние пометки — и одиночки снова находятся. Ниже — методы по ступеням генератора, на каждый — пример из настоящей судоку: что было и что вычеркнули.

Как устроены методы для сложных судоку

В лёгкой судоку цифры находятся одна за другой: одиночки и скрытые одиночки — о них в статье «Правила судоку и как решать». В сложной этого не хватает: в каждой пустой клетке остаётся по две-три возможные цифры, и ни одна не единственная.

Методы для сложных судоку работают по-другому: они не ставят цифру, а доказывают, что какой-то цифры в клетке быть не может, — и её пометку можно вычеркнуть. Вычеркнули несколько пометок — где-то осталась одна, и снова работают одиночки. Поэтому решение сложной судоку — это чередование: одиночки, пока находятся, потом приём, потом снова одиночки.

Пометки: как вести, чтобы не запутаться

Без пометок сложную судоку не решить: все приёмы ниже смотрят на них. Впишите в каждую пустую клетку все цифры, которые в неё ещё могут встать, — мелко и всегда в одно и то же место: 1 — в левом верхнем углу, 9 — в правом нижнем. Так одинаковые цифры в соседних клетках видны сразу, а пары и «крылья» находятся глазом.

Два правила. Поставили цифру — сразу сотрите её пометки в той же строке, столбце и квадрате; забытая пометка потом «обманет» приём. И пишите карандашом: пометки стираются постоянно. Если на листе тесно, печатайте судоку с местом для пометок — по одной-две на листе.

23448236753691491347561313937824781237923812364367675794682426724626781534684687136134569368249489531272492787894796467846784952616793279367135923623674827367239483675679179

Пометки карандашом: в каждой пустой клетке — цифры, которых нет в её строке, столбце и квадрате.

Пометки карандашом: в каждой пустой клетке — цифры, которые ещё могут в неё встать.

«Запертые» цифры

Первый приём средних судоку. Если в квадрате цифра может стоять только в одной строке (или в одном столбце), то она обязательно окажется в этой строке внутри квадрата. Значит, в остальной части строки, за пределами квадрата, этой цифры нет — пометки вычёркиваем.

Работает и наоборот: если в строке цифра может стоять только внутри одного квадрата, то в остальных клетках этого квадрата её нет. На рисунке — первый случай.

34765218925222289169681341835967369129563377845369

«Запертая» цифра: в выделенном квадрате цифра 2 может стоять только в одной строке — значит, в остальной части этой строки 2 нет (зачёркнуто).

«Запертая» цифра: средняя судоку из генератора.

Открытая пара

Открытая пара — две клетки одной строки, столбца или квадрата, в которых пометки одни и те же две цифры, например 3 и 8. Какая из клеток будет 3, а какая 8, пока неизвестно, но эти две цифры точно займут именно их. Значит, в остальных клетках этой строки (столбца, квадрата) ни 3, ни 8 быть не может.

На рисунках здесь и дальше: жёлтым — клетки приёма, синим — его цифры, красным на втором кадре — вычеркнутые пометки. Пометки — те, что остались к этому шагу решения.

9136813482367347526124671475672814693456459356135613423679347934679812456714579357843813679213679569156815813895343467468225725617981479593145236812368971393591389425835843853762193782381238913843579137892525786

До. Открытая пара: в столбце 2 клетки (5, 2) и (8, 2) могут быть только 3 или 8 — эти цифры займут их, и из остальных клеток столбца 3 и 8 вычёркиваем.

9136813482367347526124671475672814693456459356135613423679347934679812456714579357843813679213679569156815813895343467468225725617981479593145236812368971393591389425835843853762193782381238913843579137892525786

После: 7 пометок вычеркнуто (красным).

Открытая пара: сложная судоку из генератора, до и после приёма.

Открытая тройка

Открытая тройка — то же для трёх клеток и трёх цифр. В каждой из трёх клеток не обязательно все три цифры: достаточно, чтобы вместе у них было ровно три разные цифры, например {5, 7}, {7, 9} и {5, 9}. Три цифры займут три клетки, поэтому в остальных клетках строки (столбца, квадрата) их нет.

Тройку искать труднее, чем пару: смотрите на клетки с двумя-тремя пометками в одной строке, столбце или квадрате.

826795123679267167237136794236726794123678951678237136791379236726791236794672375825624568671394727914758261341326126346795812713578678945783478235757578291267831456784787957943578292782757813796

До. Открытая тройка: в строке 8 в трёх клетках (8, 1), (8, 8) и (8, 9) — только цифры 5, 7 и 9; они займут эти клетки, из остальных клеток строки их вычёркиваем.

826795123679267167237136794236726794123678951678237136791379236726791236794672375825624568671394727914758261341326126346795812713578678945783478235757578291267831456784787957943578292782757813796

После: 7 пометок вычеркнуто (красным).

Открытая тройка: сложная судоку из генератора.

Скрытая пара

Скрытая пара — наоборот: смотрим не на клетки, а на цифры. Если в строке (столбце, квадрате) две цифры могут стоять только в двух одних и тех же клетках, то эти клетки заняты ими — других цифр там быть не может. Все остальные пометки в этих двух клетках вычёркиваем, и пара становится открытой.

Скрытую пару трудно увидеть: в её клетках много пометок, и она «прячется» среди них. Ищите так: возьмите строку и для каждой цифры посчитайте, в скольких клетках она помечена. Две цифры, у которых по две одинаковые клетки, — скрытая пара.

125679582564824838256969342567156425636815781256792856367168681589156923684516916894231868721364718161385937985237946379137942167953798367913616537983434792

До. Скрытая пара: в строке 3 цифры 1 и 7 могут стоять только в двух клетках (3, 5) и (3, 6) — значит, эти клетки заняты ими, остальные пометки в них вычёркиваем.

125679582564824838256969342567156425636815781256792856367168681589156923684516916894231868721364718161385937985237946379137942167953798367913616537983434792

После: 5 пометок вычеркнуто (красным).

Скрытая пара: сложная судоку из генератора, до и после приёма.

«Крыло» (X-Wing)

«Крыло» — приём для одной цифры. Найдите две строки, в которых эта цифра может стоять только в двух клетках, и притом в одних и тех же двух столбцах. Получается прямоугольник из четырёх клеток. В одной строке цифра встанет в левый угол, в другой — в правый, или наоборот; в любом случае оба столбца заняты этой цифрой.

Значит, в остальных клетках этих двух столбцов цифры нет — вычёркиваем. То же можно искать «по столбцам»: два столбца, где цифра только в двух одинаковых строках, — и вычёркивать её из этих строк.

51378241393968412693125257157623957571423872842593658159296238257915783584579195138794786378239517827286412712846251258925893412863589725815

До. «Крыло»: в двух строках (3, 9) цифра 2 может стоять только в двух столбцах (2, 8). Цифры 2 из этих строк займут эти столбцы — по одной в каждом, поэтому в остальных клетках этих столбцов 2 быть не может: вычёркиваем.

51378241393968412693125257157623957571423872842593658159296238257915783584579195138794786378239517827286412712846251258925893412863589725815

После: 3 пометки вычеркнуты (красным).

«Крыло»: сложная судоку из генератора, до и после приёма.

Распечатать сложные судоку

«Рыба-меч» (Swordfish)

«Рыба-меч» — «крыло» на три строки. Если в трёх строках цифра может стоять только в трёх столбцах (в каждой строке — в двух или трёх из них), то три такие цифры займут все три столбца, по одной в каждом. Из остальных клеток этих столбцов цифру вычёркиваем.

Найти «рыбу-меч» глазом трудно: выпишите для одной цифры, в каких столбцах она помечена в каждой строке, и ищите три строки, у которых вместе ровно три столбца.

5915934687192468948946912738953897182353593591846459672589145893489359235986741591291912459459353589359456892689734893489497162895568719352346868348259569843513697139

До. «Рыба-меч»: в трёх столбцах (3, 4, 6) цифра 5 может стоять только в трёх строках (3, 6, 9). Цифры 5 из этих столбцов займут эти строки — по одной в каждой, поэтому в остальных клетках этих строк 5 быть не может: вычёркиваем.

5915934687192468948946912738953897182353593591846459672589145893489359235986741591291912459459353589359456892689734893489497162895568719352346868348259569843513697139

После: 5 пометок вычеркнуто (красным).

«Рыба-меч»: очень сложная судоку из генератора, до и после приёма.

XY-крыло (XY-Wing)

XY-крыло — три клетки с двумя пометками в каждой. В центральной — две цифры, скажем x и y. Центр «видит» (стоит в одной строке, столбце или квадрате) две клетки-крыла: в одной — x и z, в другой — y и z. Если в центре x, то в первом крыле z; если y — z во втором. Значит, z точно в одном из крыльев.

Отсюда вывод: в клетке, которая видит оба крыла, z быть не может — вычёркиваем. Ищите клетки с двумя пометками: XY-крыло всегда строится из них.

15723743576985689562581347378478346978251678678956824133613463497369582245834534138976937856561245656812473942179379865

До. XY-крыло: в центре (3, 6) — 7 или 8, в крыльях (1, 4) и (6, 6) — пары с 3. Какая бы цифра ни встала в центр, 3 окажется в одном из крыльев — из клеток, которые видят оба крыла, 3 вычёркиваем.

15723743576985689562581347378478346978251678678956824133613463497369582245834534138976937856561245656812473942179379865

После: 3 пометки вычеркнуты (красным).

XY-крыло: очень сложная судоку из генератора, до и после приёма.

Распечатать очень сложные судоку

Когда приёмов не хватает: нужно ли угадывать

В судоку генератора угадывать не нужно ни на одной ступени: каждая проверена решателем и решается до конца одиночками и приёмами из этой статьи. Если застряли — скорее всего, пропущена пометка или не стёрта лишняя. Проверьте пометки в строке, столбце и квадрате последней поставленной цифры.

В других сборниках бывают судоку, где этих приёмов не хватает. Тогда остаётся предположение: выбрать клетку с двумя пометками, поставить одну цифру и решать дальше; если пришли к противоречию — в клетке другая цифра. Метод работает, но он хуже: ошибка всплывает через много шагов, и откатывать решение назад на бумаге трудно. Если пробуете, ставьте предположение и всё, что из него следует, другим цветом.

Какие приёмы нужны для каждой ступени

Ступень судоку в генераторе — это самый сложный приём, без которого её не решить. Начинать удобно с средних, потом переходить к сложным и очень сложным.

Ступени судоку генератора и приёмы
СтупеньКакие приёмы нужны
Лёгкоеодиночки и скрытые одиночки
Среднееещё «запертые» цифры в строке, столбце или квадрате
Сложноеещё открытые пары и тройки, скрытые пары, «крыло»
Очень сложноеещё «рыба-меч» и XY-крыло

Источники

  • Приёмы и ступени — как в генераторе судоку A4go (src/core/sudoku.js): лёгкие решаются одиночками, средним нужны «запертые» цифры, сложным — пары, тройки, скрытые пары и «крыло», очень сложным — ещё «рыба-меч» и XY-крыло.
  • Рисунки — шаги решателя генератора на судоку из генератора: пометки перед шагом и пометки, которые приём вычёркивает; судоку проверены перебором — решение одно.

Вопросы и ответы

Как решать сложные судоку?

Расставить пометки во всех пустых клетках и вычёркивать лишние приёмами: «запертые» цифры, открытые и скрытые пары, тройки, «крыло». Когда в клетке остаётся одна пометка — ставить цифру и снова искать одиночки.

Какие есть методы решения судоку?

Одиночки и скрытые одиночки — для лёгких; «запертые» цифры — для средних; открытые пары и тройки, скрытые пары и «крыло» — для сложных; «рыба-меч» и XY-крыло — для очень сложных.

Нужно ли угадывать в сложной судоку?

В судоку генератора A4go — нет: каждая решается приёмами до конца. Если не получается, чаще всего пропущена или не стёрта пометка.

Что такое «крыло» в судоку?

Приём для одной цифры: в двух строках она может стоять только в двух одинаковых столбцах. Тогда эти столбцы заняты ею, и в остальных клетках столбцов её нет.

Чем открытая пара отличается от скрытой?

В открытой паре в двух клетках только две одинаковые пометки. В скрытой две цифры возможны только в двух клетках, но в этих клетках есть и другие пометки — их вычёркивают.