Начальный – средний уровень

Приёмы судоку:
Наглядный пошаговый разбор

Отсев кандидатов • Единственный кандидат • Открытая пара • Указывающие пары

около двенадцати минут шесть примеров сетки

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

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

Приёмы, которые вы изучите в этой статье
  • Отсев кандидатов: Какая цифра не может стоять в этой клетке?
  • Единственный кандидат: Найти клетку, у которой остался лишь один кандидат
  • Открытая пара: Использовать две клетки с одинаковыми двумя кандидатами
  • Указывающие пары: Преобразовать распределение кандидатов внутри блока в очистку строки или столбца

Отсев кандидатов — фундамент логики судоку. На нём строятся все остальные приёмы, включая единственного кандидата. Ключевой вопрос: «Может ли эта цифра стоять в данной клетке?» Ответ определяется тремя правилами.

Три правила, одна логика

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

Пример на сетке — отсев кандидатов

┌───────┬───────┬───────┐ │ 5 3 · │ · 7 · │ · · · │ │ 6 · · │ 1 9 5 │ · · · │ │ · 9 8 │ · · · │ · 6 · │ ├───────┼───────┼───────┤ │ 8 · · │ · 6 · │ · · 3 │ │ 4 · · │ 8 · [?]│ · · 1 │ │ 7 · · │ · 2 · │ · · 6 │ ├───────┼───────┼───────┤ │ · 6 · │ · · · │ 2 8 · │ │ · · · │ 4 1 9 │ · · 5 │ │ · · · │ · 8 · │ · 7 9 │ └───────┴───────┴───────┘
Рис. 1 — Клетка [?]: строка пять, столбец шесть. Какая цифра здесь стоит?

Пошаговый разбор

Один.Просматриваем строку (строка пять): есть четыре, восемь, один — эти три отсеяны.
Два.Просматриваем столбец (столбец шесть): есть семь, пять, шесть, два, девять, восемь — эти шесть тоже отсеяны.
Три.Просматриваем блок (правый средний три на три): есть шесть, пять, три, один — они тоже отсеяны.
Четыре.Единственная оставшаяся цифра после всех отсевов: четыре.

В эту клетку идёт четыре. Никакого другого варианта нет — не угадывание, а дедукция.

Ключевая тонкость отсева

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


Если в клетку может встать только одна цифра, значит, именно она там и стоит. Название «единственный» точно передаёт суть: клетка открыто предъявляет своего единственного кандидата — не спрятанного, а доказанного логически.

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

Как составить список кандидатов

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

В Судокум.Нет клавиша Н включает режим заметок. В этом режиме набираемые цифры сохраняются в клетке как маленькие пометки-кандидаты. Благодаря этому единственного кандидата можно обнаружить прямо на сетке взглядом, не отслеживая его вручную.

Пример на сетке — единственный кандидат

┌───────┬───────┬───────┐ │ 5 3 4 │ 6 7 8 │ 9 1 2 │ │ 6 7 2 │ 1 9 5 │ 3 4 8 │ │ 1 9 8 │ 3 4 2 │ 5 6 7 │ ├───────┼───────┼───────┤ │ 8 5 9 │ 7 6 1 │ 4 2 3 │ │ 4 2 6 │ 8 5 [?]│ 7 9 1 │ │ 7 1 3 │ 9 2 4 │ 8 5 6 │ ├───────┼───────┼───────┤ │ 9 6 1 │ 5 3 7 │ 2 8 4 │ │ 2 8 7 │ 4 1 9 │ 6 3 5 │ │ 3 4 5 │ 2 8 6 │ 1 7 9 │ └───────┴───────┴───────┘
Рис. 2 — Строка пять, столбец шесть: остался единственный кандидат.

Пошаговый разбор

Один.Цифры в строке пять: четыре, два, шесть, восемь, пять, семь, девять, один — восемь цифр, недостаёт только три.
Два.Цифры в столбце шесть: восемь, пять, два, один, четыре, семь, девять, шесть — восемь цифр, недостаёт только три.
Три.Цифры в правом среднем блоке: девять, один, три, четыре, семь, восемь, шесть, пять — восемь цифр.
Четыре.После отсева по строке, столбцу и блоку единственная оставшаяся цифра: три. Только она встаёт в эту клетку.

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

Единственный кандидат и скрытый единственный кандидат: в чём разница

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


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

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

Пример на сетке — открытая пара

Столбец три — с заметками кандидатов: ┌──────────────────────────┐ │ Строка 1 Столбец 3: [один, семь] │ ← клетка открытой пары │ Строка 2 Столбец 3: [два, пять, восемь] │ │ Строка 3 Столбец 3: [один, семь] │ ← клетка открытой пары │ Строка 4 Столбец 3: [два, пять, семь, восемь]│ │ Строка 5 Столбец 3: [два, четыре, семь] │ │ Строка 6 Столбец 3: [два, пять, семь, восемь]│ │ Строка 7 Столбец 3: [три, пять] │ │ Строка 8 Столбец 3: [два, пять, восемь] │ │ Строка 9 Столбец 3: [два, пять, шесть] │ └──────────────────────────┘
Рис. 3 — Столбец три: Строка 1 Столбец 3 и Строка 3 Столбец 3 содержат только [один, семь]. Открытая пара сформирована.

Пошаговый разбор

Один.Кандидаты Строка 1 Столбец 3: [один, семь]. Кандидаты Строка 3 Столбец 3: [один, семь]. Одинаковые два кандидата, одни и те же две клетки — открытая пара найдена.
Два.Цифры один и семь неизбежно займут Строка 1 Столбец 3 и Строка 3 Столбец 3. Неизвестно, которая куда, но обе закреплены за этими двумя клетками.
Три.Убираем один и семь из всех остальных клеток столбца три: Строка 4 Столбец 3 → [два, пять, восемь], Строка 5 Столбец 3 → [два, четыре], Строка 6 Столбец 3 → [два, пять, восемь].
Четыре.В Строка 5 Столбец 3 остались только [два, четыре] — под действием открытой пары клетка превратилась в единственного кандидата. Цепочка решений пошла.

Второй пример — открытая пара внутри блока

Левый верхний блок три на три — с заметками кандидатов: ┌─────────────────────────────────┐ │ Строка 1 Столбец 1:[четыре] Строка 1 Столбец 2:[три,девять] Строка 1 Столбец 3:[три,девять] │ ← Открытая пара │ Строка 2 Столбец 1:[шесть] Строка 2 Столбец 2:[два,пять,восемь] Строка 2 Столбец 3:[два,восемь] │ │ Строка 3 Столбец 1:[один,семь,восемь] Строка 3 Столбец 2:[два,пять,восемь] Строка 3 Столбец 3:[два,восемь] │ └─────────────────────────────────┘
Рис. 4 — Левый верхний блок: Строка 1 Столбец 2 и Строка 1 Столбец 3 содержат только [три, девять]. Открытая пара.
Один.Строка 1 Столбец 2 = [три, девять], Строка 1 Столбец 3 = [три, девять]. Одинаковые два кандидата — в одном блоке и в одной строке одновременно: двойной эффект.
Два.Три и девять убираются из остальных клеток блока. Кроме того, три и девять убираются из остальных клеток строки один.
Три.Строка 2 Столбец 3 = [два, восемь], Строка 3 Столбец 3 = [два, восемь] — они тоже образуют открытую пару внутри блока. Включается цепочка отсевов.
Почему открытую пару трудно заметить

Поначалу это медленно — нужно сравнивать списки кандидатов клетка за клеткой. У опытных игроков сравнение становится автоматическим: увидев клетку с двумя кандидатами, они рефлекторно проверяют, нет ли пары. Этот рефлекс обычно вырабатывается после пятидесяти–ста головоломок.


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

Название «указывающие» отсюда и берётся: две (или три) клетки как бы «указывают» наружу вдоль строки или столбца. Это единственный приём, который переносит вывод, сделанный внутри блока, на уровень строки или столбца.

Пример на сетке — указывающие пары вдоль строки

Распределение кандидатов цифры три по блоку и строке: ┌────────────┬────────────┬────────────┐ │ · · · │[три] · [три]│ · · · │ ← Строка один │ · · · │ · · · │ · · · │ │ · · · │ · · · │ · · · │ └────────────┴────────────┴────────────┘ Левый блок СРЕДНИЙ БЛОК Правый блок Кандидаты тройки в верхнем среднем блоке: только в строке один (Кл4 и Кл6).
Рис. 5 — Кандидаты тройки в верхнем среднем блоке сосредоточены только в строке один.

Пошаговый разбор

Один.Находим клетки-кандидаты тройки в верхнем среднем блоке три на три: Строка 1 Столбец 4 и Строка 1 Столбец 6.
Два.Обе — в строке один. Внутри блока в строке два или строке три для тройки места нет.
Три.Значит, тройка из этого блока попадёт в строку один. Клетки строки один в левом блоке (Кл1, Кл2, Кл3) и в правом блоке (Кл7, Кл8, Кл9) больше не могут содержать тройку.
Четыре.Три убирается из клеток строки один левого блока и из клеток строки один правого блока.

Второй пример — указывающие пары вдоль столбца

Распределение кандидатов цифры семь по столбцу (левый блок): ┌───────┐ │ · · · │ Ст1 — верх │ · · · │ Ст2 │ · · · │ Ст3 ├───────┤ │ ·[семь]· │ Ст4 — середина ← Кл2 │ ·[семь]· │ Ст5 ← Кл2 │ · · · │ Ст6 ├───────┤ │ · · · │ Ст7 — низ │ · · · │ Ст8 │ · · · │ Ст9 └───────┘ ЛЕВЫЙ БЛОК — кандидаты семёрки только в Кл2 (Ст4 и Ст5).
Рис. 6 — В левом среднем блоке кандидаты семёрки только в столбце два. Семь убирается из верхней и нижней частей столбца два.
Один.Находим клетки-кандидаты семёрки в левом среднем блоке три на три: Строка 4 Столбец 2 и Строка 5 Столбец 2.
Два.Обе — в столбце два. Внутри блока в столбце один или столбце три для семёрки места нет.
Три.Значит, семёрка из этого блока попадёт в столбец два. Клетки столбца два в верхнем блоке (Ст1–Ст3) и в нижнем блоке (Ст7–Ст9) больше не могут содержать семёрку.
Четыре.Семь убирается из клеток столбца два в верхней части и из клеток столбца два в нижней части.
Указывающие пары и сокращение строки-блока: в чём разница

Указывающие пары работают от блока к строке или столбцу. Сокращение строки-блока — обратное: оно фиксирует, что кандидат некоторой строки или столбца остался лишь в одном блоке, и убирает его из остальных клеток этого блока. Два взаимодополняющих направления — одна логика.


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

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

При каждом тупике возвращайтесь к началу этого порядка. Стоит одному приёму дать результат — и нужно начинать сначала: изменение одной клетки меняет списки кандидатов в других.

Инструмент Судокум.Нет для поддержки этого порядка

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


Можно ли этими четырьмя приёмами решить любое судоку?
Лёгкие головоломки и большинство средних — да. На сложном уровне могут понадобиться Х-крыло, Рыба-меч и другие продвинутые приёмы. Переходить к ним, не отработав эти четыре до автоматизма, бессмысленно — без фундамента верхние этажи не держатся.
Как запомнить разницу между единственным кандидатом и открытой парой?
Единственный кандидат — одна клетка, один кандидат: решает клетку напрямую. Открытая пара — две клетки, два одинаковых кандидата в каждой. Открытая пара сужает список кандидатов в соседних клетках и продвигает решение косвенно.
Почему указывающие пары так сложно заметить?
Потому что взгляд переключается с блока на строку или столбец — нужно одновременно считывать два измерения. Практический способ: по каждому блоку и по каждой цифре систематически задавайте вопрос: «Не сосредоточены ли кандидаты в одной строке или столбце?» Поначалу медленно, но через несколько десятков головоломок это становится рефлексом.
Обязательно ли записывать кандидатов?
На лёгком уровне обычно нет — единственных кандидатов можно находить взглядом. Начиная со среднего увидеть открытую пару и указывающие пары без заметок крайне сложно. В Судокум.Нет клавиша Н включает режим заметок — ручной ввод кандидатов одновременно помогает глубже понять сетку и упрощает применение приёмов.

В заключение

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

Сделайте отсев привычкой — без заметок с кандидатами открытая пара не просматривается, без открытой пары указывающие пары не работают. Каждый приём делает предыдущий необходимым; именно поэтому порядок не пропускают.