Всем привет, меня зовут Андрей!
Напомню о том, что в прошлой статье мы отфильтровали «лишние» кандидаты судоку согласно первому правилу, а именно: «если в пределах одного квадратика-блока судоку все кандидаты расположены только в одной строке, то все другие кандидаты этой строки будут “лишними”». В этой статье будем убирать «лишние» кандидаты судоку по «второму правилу». А это «второе» правило будет звучать так:
Если в пределах одного квадратика-блока судоку все кандидаты расположены только в одном столбце, то все другие кандидаты этого столбца будут «лишними».
Убирать «лишние» кандидаты будем не из всех кандидатов судоку, а из тех, что у нас образовались после сортировки по «первому» правилу. То есть, наша сортировка, или фильтрация, кандидатов будет многоступенчатой. А продолжим мы разбирать то же судоку, что уже начали сортировать в прошлой статье.
Напомню, какое было судоку первоначально:
После заполнения всех «очевидных», или «однозначных» кандидатов мы получили следующее судоку:
Напомню, где находятся кандидаты-единички после сортировки согласно правилу номер один:
Прежде, чем приступить к «правилу № 2» сортировки кандидатов, скопируем наш квадрат с кандидатами-единичками таким образом, чтобы заголовок квадрата – а он будет таким: «Кандидаты 1 после первой сортировки» - оказался не на 26-й, а на первой строчке Excel:
Дублирование этого квадрата с перемещением к верхним строках Excel, во-первых, сделает более удобной дальнейшую работу по сортировке кандидатов, во-вторых, здесь мы добавляем сумму кандидатов по строкам, столбцам и квадратикам, а под 36-й строкой Excel у нас нет места для двух строк, потому что в 38-й строке мы начнем работу с кандидатами-двойками.
Главный секрет при создании этого квадрата из предыдущего: нужно использовать формулы, а не тандем команд «Копировать-вставить». Это надо для того, чтобы при каждом новом судоку все квадраты появлялись автоматически.
Следующий этап сортировки будет искать: есть ли такие блоки, у которых все кандидаты расположены в пределах одного столбца, чтобы убрать «лишние» кандидаты – в том же столбце, но вне этого квадратика-блока.
Итак, начнем. Если при сортировке кандидатов согласно «правилу 1» нам надо было делить каждый квадратик-блок на три горизонтальные части, то сейчас – на три вертикальные. Вот что должно получиться:
Вне квадрата справа (столбец CR) – это число нолей в каждом из блоков судоку; рядом (столбец CS) – номер того блока, к которому относится значение числа из столбца CR. Цифры под квадратом (строка 12) достаточно просты. Если разделить каждый столбец судоку на три равные части и просуммировать число нолей в полученных частях, то получатся именно эти цифры.
Дальнейшие этапы фильтрации кандидатов аналогичны тем, которые мы уже рассматривали при фильтрации кандидатов согласно правилу № 1. Вначале – утраиваем те цифры, что мы получили в квадрате «Счет по столбцам»:
Следующие два квадрата также аналогичны тем, что мы уже составляли при сортировке кандидатов согласно правилу № 1. Вот что должно получиться:
В нашем случае «левый» квадрат содержит только ноли, но это не удивительно, поскольку кандидаты-единицы отфильтрованы не будут, нет ни одного варианта, при котором были бы такие кандидаты-единицы, что располагались бы в пределах одного квадратика-блока только в одном столбце.
И, наконец, следующая пара квадратов:
Получить почти все квадраты, представленные в данной статье, достаточно просто. Особенно если учесть то, что многие квадратики можно скопировать из тех, что мы уже получали при сортировке кандидатов по «правилу 1», и при этом корректировка понадобится несущественная и даже не для всех квадратов.
Перед 8-кратным копированием всего блока от BV1 до DC37 вниз для получения кандидатов-двоек, троек и т.д. нужно будет убрать из формул этого блока убрать все значки $, если они там были.
А на этом пока все. В следующем выпуске будем рассказывать про сортировку кандидатов согласно правилу номер три. Приглашаю всех любителей судоку подписаться на канал, и до новых встреч на канале!