Судоку выглядит как задача про числа, но арифметики в ней нет вообще. Складывать, умножать и подбирать суммы не нужно. Это задача на исключение: вы смотрите, какие цифры в клетку поставить нельзя, и когда остаётся ровно одна, ставите её.
Ниже разобран весь путь: правила, порядок действий в начале партии, базовые приёмы для тех, кто решает первый раз, и техники, которые понадобятся на сложных уровнях. Почти все приёмы показаны на одной и той же доске, с точными координатами клеток, чтобы каждый вывод можно было проверить самостоятельно.
Правила судоку: три запрета и ничего больше
Поле судоку это квадрат 9 на 9, всего 81 клетка. Он разделён жирными линиями на девять квадратов 3 на 3. Часть клеток заполнена заранее, их называют подсказками или данными цифрами, менять их нельзя.
Задача: расставить цифры от 1 до 9 в пустые клетки так, чтобы выполнялись три условия.
- В каждой строке каждая цифра от 1 до 9 встречается ровно один раз.
- В каждом столбце каждая цифра от 1 до 9 встречается ровно один раз.
- В каждом квадрате 3 на 3 каждая цифра от 1 до 9 встречается ровно один раз.
Всё. Больше правил нет. Диагонали в классическом судоку не считаются, соседство цифр не важно, сумма ничего не значит.
Из трёх правил следует главное свойство корректной задачи: у неё ровно одно решение, и до него всегда можно дойти логикой. Если задача составлена правильно, угадывать не придётся ни разу. Кстати, доказано, что судоку с единственным решением не может иметь меньше 17 заданных цифр.
Как обозначают клетки
Чтобы не писать «третья клетка слева во втором ряду», решатели используют короткую запись: r2c3 значит строка 2, столбец 3. Буква r от слова row (строка), c от column (столбец). Квадраты нумеруются слева направо и сверху вниз: квадрат 1 это левый верхний, квадрат 5 центральный, квадрат 9 правый нижний.
Вот доска, на которой дальше разобрано почти всё:
c1 c2 c3 c4 c5 c6 c7 c8 c9
r1 | 5 3 . | . 7 . | . . .
r2 | 6 . . | 1 9 5 | . . .
r3 | . 9 8 | . . . | . 6 .
|-----------+-----------+---------
r4 | 8 . . | . 6 . | . . 3
r5 | 4 . . | 8 . 3 | . . 1
r6 | 7 . . | . 2 . | . . 6
|-----------+-----------+---------
r7 | . 6 . | . . . | 2 8 .
r8 | . . . | 4 1 9 | . . 5
r9 | . . . | . 8 . | . 7 9
С чего начинать партию
Типичная ошибка новичка: начать с клетки r1c1 и идти по порядку, слева направо. Так решать долго и мучительно, потому что первая клетка обычно не самая простая.
Правильный порядок другой: искать не пустые клетки, а самые заполненные участки доски. Чем больше цифр уже стоит в строке, столбце или квадрате, тем меньше вариантов остаётся в его пустых клетках.
Практический порядок в начале партии такой:
- Посмотрите, каких цифр на доске больше всего. На доске выше это 8 и 9, они встречаются по три раза. Именно с них начинайте просмотр: чем больше копий цифры уже стоит, тем сильнее они ограничивают остальные квадраты.
- Найдите квадраты, где заполнено четыре клетки и больше. В них проще всего закрыть остаток.
- Только когда очевидные ходы кончились, беритесь за карандашные пометки.
Первые двадцать цифр в судоку средней сложности обычно ставятся вообще без пометок, одним взглядом. Выписывать кандидатов в каждую из полусотни пустых клеток на старте не нужно.
Техники решения судоку для начинающих
Приём 1. Единственное место в квадрате
Самый частый и самый быстрый приём. Берём одну цифру и смотрим, куда в конкретном квадрате она может встать. Если место одно, цифра найдена.
Возьмём цифру 8 и квадрат 2 (строки 1-3, столбцы 4-6):
c4 c5 c6
r1 | . 7 .
r2 | 1 9 5
r3 | . . .
Свободны пять клеток: r1c4, r1c6, r3c4, r3c5, r3c6. Дальше два вычёркивания:
- В строке 3 восьмёрка уже стоит, в клетке r3c3. Значит вся часть строки 3 внутри квадрата отпадает: r3c4, r3c5 и r3c6 вычёркиваем.
- В столбце 4 восьмёрка уже стоит, в клетке r5c4. Значит отпадает и r1c4.
Осталась одна клетка. r1c6 = 8.
Тот же приём в квадрате 4 (строки 4-6, столбцы 1-3) для цифры 6. Свободны шесть клеток. Строка 4 содержит 6 в клетке r4c5, значит r4c2 и r4c3 отпадают. Столбец 2 содержит 6 в клетке r7c2, значит отпадают r5c2 и r6c2. Строка 6 содержит 6 в клетке r6c9, значит отпадает и r6c3. Осталась одна клетка: r5c3 = 6.
Именно так выглядит нормальный ход решения. Одна цифра, три быстрых взгляда вдоль строк и столбцов, готовый ответ.
Приём 2. Единственное место в строке или столбце
То же самое, но единицей поиска становится строка или столбец целиком.
Посмотрим на столбец 1 и цифру 9. Свободны клетки r3c1, r7c1, r8c1, r9c1.
- В строке 3 девятка уже есть, в r3c2. Клетка r3c1 отпадает.
- В строке 8 девятка есть, в r8c6. Отпадает r8c1.
- В строке 9 девятка есть, в r9c9. Отпадает r9c1.
Остаётся одна клетка: r7c1 = 9.
Разница между первым и вторым приёмом только в том, какую область вы просматриваете. На практике их применяют вперемешку, за один проход по доске.
Приём 3. Единственный кандидат для клетки
Здесь логика зеркальная: не «куда встанет эта цифра», а «что вообще может встать в эту клетку».
Клетка r5c5, центр доски. Смотрим, что ей запрещено:
- строка 5 уже содержит 4, 8, 3, 1;
- столбец 5 уже содержит 7, 9, 6, 2, 1, 8;
- квадрат 5 уже содержит 6, 8, 3, 2.
Собираем всё вместе: запрещены 1, 2, 3, 4, 6, 7, 8, 9. Свободной остаётся ровно одна цифра. r5c5 = 5.
Такие клетки почти всегда прячутся на пересечении плотных строк и столбцов. Если не знаете, куда смотреть, ищите клетку, у которой и строка, и столбец, и квадрат заполнены наполовину и больше.
Карандашные пометки: когда они нужны
Рано или поздно очевидные ходы кончаются. С этого момента доску держать в голове нельзя, и начинаются карандашные пометки: в каждой пустой клетке мелко выписываются все цифры, которые в неё ещё могут встать. Их называют кандидатами.
Вот кандидаты строки 3 на стартовой доске:
r3c1: 1 2
r3c2: 9 (дано)
r3c3: 8 (дано)
r3c4: 2 3
r3c5: 3 4
r3c6: 2 4
r3c7: 1 3 4 5 7
r3c8: 6 (дано)
r3c9: 2 4 7
Два правила работы с пометками, без которых они превращаются во вред:
- Поставили цифру, сразу почистили пометки. Вычеркните новую цифру из кандидатов во всей строке, всём столбце и всём квадрате. Одна забытая пометка порождает неверный вывод через десять ходов, и найти этот момент потом почти невозможно.
- Не выписывайте кандидатов на всей доске сразу. Достаточно того квадрата или той строки, с которой вы сейчас работаете. Полная разметка всех клеток на бумаге отнимает больше времени, чем экономит, и устаревает после каждого хода.
Продвинутые техники решения судоку
Начиная со сложных уровней, три базовых приёма перестают давать ходы. Дальше работают приёмы, которые не ставят цифру сразу, а сокращают список кандидатов. После такого сокращения обычно снова появляется обычный единственный кандидат.
Голая пара
Если в одной строке, одном столбце или одном квадрате есть две клетки, у каждой из которых остались ровно два одинаковых кандидата, то эти две цифры заняты этими двумя клетками. В каком порядке, пока неизвестно, но больше нигде в этой области они стоять не могут.
Фрагмент строки:
r4c1: 8 (дано)
r4c2: 4 7
r4c3: 4 7
r4c4: 1 (дано)
r4c5: 2 4 5 7 9
r4c6: 3 (дано)
r4c7: 6 (дано)
r4c8: 2 9
r4c9: 2 5 9
Клетки r4c2 и r4c3 держат ровно 4 и 7. Одна из них будет четвёркой, вторая семёркой. Значит из r4c5 обе цифры можно вычеркнуть, и вместо пяти кандидатов там остаётся три: 2, 5 и 9.
Голая тройка
То же самое, но с тремя клетками и тремя цифрами. Важная тонкость: не обязательно, чтобы в каждой клетке стояли все три кандидата. Достаточно, чтобы объединение кандидатов трёх клеток состояло ровно из трёх цифр.
Вернёмся к строке 3 нашей доски. Три клетки подряд:
r3c4: 2 3
r3c5: 3 4
r3c6: 2 4
Ни в одной клетке нет всех трёх цифр, но вместе они дают ровно 2, 3 и 4. Три клетки, три цифры, значит эти цифры распределены именно между ними.
Отсюда сразу два вывода:
- В строке 3 двойка больше нигде стоять не может. У клетки r3c1 кандидатами были 1 и 2, двойка уходит: r3c1 = 1.
- Эти же три клетки лежат в квадрате 2, значит вывод работает и для квадрата. У клетки r1c4 кандидатами были 2 и 6, двойка уходит: r1c4 = 6.
Один приём, две поставленные цифры.
Скрытая пара
Голую пару видно сразу: клетка с двумя кандидатами бросается в глаза. Скрытая пара прячется среди мусора и поэтому пропускается чаще всего.
Ищем не клетки с двумя кандидатами, а цифры, которые в области встречаются ровно в двух клетках, причём в одних и тех же.
Фрагмент квадрата:
r1c7: 2 5 8 9
r1c9: 2 5 8
r2c7: 1 3 5 8 9
r2c8: 5 8 9
r3c8: 1 3 8 9
r3c9: 8 9
Проверяем цифру 1: она есть только в r2c7 и r3c8. Проверяем цифру 3: она есть только в r2c7 и r3c8, в тех же самых двух клетках. Значит эти две клетки заняты единицей и тройкой, а всё остальное в них лишнее.
Вычёркиваем:
- в r2c7 было 1 3 5 8 9, стало 1 3;
- в r3c8 было 1 3 8 9, стало 1 3.
Пять кандидатов превратились в два. Обычно после такого сокращения в соседних клетках сразу находится единственный кандидат.
Указывающая пара
Приём на стыке квадрата и строки. Если внутри квадрата все возможные места для цифры лежат в одной строке (или в одном столбце), то в этой строке за пределами квадрата цифры быть не может.
Кандидаты квадрата 1 на стартовой доске:
r1c3: 1 2 4
r2c2: 2 4 7
r2c3: 2 4 7
r3c1: 1 2
Где в квадрате 1 может стоять семёрка? В r1c3 нельзя: в строке 1 семёрка уже есть, в клетке r1c5. В r3c1 нельзя: в столбце 1 семёрка уже есть, в клетке r6c1. Остаются r2c2 и r2c3.
Точного места мы не узнали, но узнали строку: семёрка квадрата 1 обязательно стоит в строке 2. А значит в остальной части строки 2 семёрки нет. Вычёркиваем её из кандидатов клеток r2c7 и r2c9.
Работает и в обратную сторону: если в строке все места для цифры лежат внутри одного квадрата, то в остальной части квадрата этой цифры нет.
X-Wing
Самая простая из «взрослых» техник и первая, которую придётся освоить на экспертном уровне.
Ищем цифру, для которой в двух разных строках осталось ровно по два возможных места, и эти места стоят в одних и тех же двух столбцах.
c1 c2 c3 c4 c5 c6 c7 c8 c9
r1 | . . 4 | . . . | 4 . .
r2 | . . X | . . . | X . .
r3 | . . . | . . . | . . .
|-----------+-----------+---------
r4 | . . 4 | . . . | . . .
r5 | . . . | . . . | . . .
r6 | . . X | . . . | X . .
|-----------+-----------+---------
r7 | . . . | . . . | 4 . .
r8 | . . . | . . . | . . .
r9 | . . 4 | . . . | . . .
Буквой X отмечены четыре угла фигуры: в строке 2 четвёрка возможна только в столбцах 3 и 7, в строке 6 тоже только в столбцах 3 и 7. Цифрой 4 отмечены остальные клетки этих двух столбцов, где четвёрка пока числится кандидатом.
Рассуждение простое. В строке 2 четвёрка встанет либо в c3, либо в c7. В строке 6 тоже либо в c3, либо в c7. Оба возможных расклада занимают ровно один столбец 3 и ровно один столбец 7. Значит в столбцах 3 и 7 четвёрка уже разобрана строками 2 и 6, и во всех остальных клетках этих столбцов её быть не может.
Итог: четвёрка вычёркивается из r1c3, r4c3, r9c3, r1c7 и r7c7. Ни одна цифра не поставлена, но пять клеток стали проще.
Что делать, когда ходов не видно
Ситуация «смотрю на доску десять минут и ничего» знакома всем. Порядок действий такой:
- Проверьте, что не пропустили простое. В девяти случаях из десяти застревают не на X-Wing, а на пропущенном единственном месте в квадрате. Пройдите по всем девяти цифрам подряд, от 1 до 9, и для каждой посмотрите все девять квадратов. Это скучно, но занимает пару минут и почти всегда находит ход.
- Проверьте пометки на актуальность. Если вы ставили цифры и не вычёркивали кандидатов, дальше вы решаете уже другую задачу. Пересоберите кандидатов в том квадрате, где застряли, с нуля.
- Возьмите цифру, которой на доске больше всего. Она ограничивает поле сильнее прочих, и именно по ней чаще всего находится следующий ход.
- Смените масштаб. Если долго смотрели на квадраты, пройдитесь по строкам и столбцам. Взгляд замыливается на одной геометрии.
- Отложите партию. Судоку не портится. Через час доска читается заново, и пропущенный ход обычно виден сразу.
Типичные ошибки новичков
- Начинать с угла и идти по порядку. Клетка r1c1 ничем не проще остальных. Начинать надо с самых заполненных областей.
- Ставить цифру по ощущению. У каждой цифры должно быть законченное рассуждение вида «здесь и больше нигде, потому что...». Если рассуждение не формулируется словами, ход ставить рано.
- Забывать про квадрат. Новички проверяют строку и столбец, а третье правило упускают. Больше половины ошибок в первых партиях именно отсюда.
- Не чистить пометки. Одна устаревшая пометка приводит к неверной цифре, неверная цифра к противоречию через двадцать ходов, а откатить эти двадцать ходов уже нечем.
- Писать ручкой на бумаге. Звучит мелочно, но исправить неверную цифру в бумажном судоку нечем, и партия просто заканчивается.
- Считать, что сложность в количестве подсказок. Задача с 30 данными цифрами может оказаться труднее задачи с 24. Сложность определяется тем, какие приёмы нужны для решения, а не тем, сколько клеток пустые.
- Проверять себя только в конце. Ошибка, сделанная на десятом ходу, обнаруживается на шестидесятом. Полезно раз в 10-15 цифр бегло проверять строки и столбцы на повторы.
Стоит ли угадывать
Короткий ответ: нет.
Длинный ответ объясняет, почему. У корректно составленной задачи ровно одно решение, и это решение выводится последовательностью логических шагов. Раз ход существует всегда, угадывание не даёт ничего, кроме риска.
Посмотрим, что происходит, когда вы всё-таки угадали. При двух кандидатах вероятность попасть пятьдесят на пятьдесят. Если вы промахнулись, доска не подаёт сигнала немедленно: противоречие всплывёт через десяток-другой ходов, когда в какой-то строке не останется места для цифры. К этому моменту уже непонятно, какая именно цифра была ошибочной, и возвращаться некуда. Партия, в которой было угадывание, обесценивается целиком: даже если вы её дорешаете, вы не решили задачу, а перебрали варианты.
Есть техника, которую иногда путают с угадыванием, это цепочка предположений: временно принять один из двух кандидатов, проследить последствия и, если они приводят к противоречию, поставить второй кандидат. Формально это законный логический вывод, доказательство от противного. Но выполнять его в уме на бумаге тяжело, и на любительских уровнях сложности он не нужен: там всегда хватает приёмов из этой статьи.
Практическое правило простое: если ход не виден, значит вы что-то пропустили или ещё не знаете нужного приёма. Оба случая лечатся, а угадывание нет.
Порядок применения приёмов
Сводка, в каком порядке пробовать техники решения судоку. Идти сверху вниз, при первой найденной цифре возвращаться в начало списка.
| Приём | Что ищем | Результат |
|---|---|---|
| Единственное место в квадрате | Куда в квадрате может встать выбранная цифра | Ставим цифру |
| Единственное место в строке или столбце | Куда в строке может встать выбранная цифра | Ставим цифру |
| Единственный кандидат | Какие цифры вообще возможны в клетке | Ставим цифру |
| Голая пара и тройка | Две или три клетки с одинаковым коротким набором кандидатов | Чистим кандидатов |
| Скрытая пара | Две цифры, возможные ровно в двух одних и тех же клетках | Чистим кандидатов |
| Указывающая пара | Цифра внутри квадрата заперта в одной строке или столбце | Чистим кандидатов |
| X-Wing | Цифра в двух строках заперта в двух одних и тех же столбцах | Чистим кандидатов |
Первые три приёма решают все судоку уровня «лёгкий» и большую часть «среднего». Пары и тройки нужны на «сложном». X-Wing и его родственники начинаются на «эксперте».
Где потренироваться
Разбирать приёмы на бумаге полезно, но рука набивается только на живых партиях, где доска сама подсвечивает конфликты и позволяет откатить неверную цифру.
Проще всего начать прямо здесь: судоку онлайн открывается в браузере, ставить ничего не нужно. Там есть все четыре уровня сложности, карандашные пометки и отмена хода, то есть ровно то, о чём шла речь выше.
Для этого я сделал судоку для Android. Приложение бесплатное целиком: без рекламы, без встроенных покупок, без регистрации и без выхода в интернет, так что решать можно в метро и в самолёте. Внутри четыре уровня сложности, режим «возможные цифры» (те самые карандашные пометки), три подсказки и три жизни на партию, таймер, статистика и тёмная тема. Незавершённая партия сохраняется, так что совет отложить доску на час здесь работает буквально.
Начните с лёгкого уровня и первых трёх приёмов. Когда лёгкие партии станут закрываться без единой паузы, переходите на средний и доставайте карандашные пометки.