BUG означает *Binary Universal Grave* («двоичная всеобщая могила»): в каждой пустой клетке ровно два кандидата, и каждый кандидат встречается в области не более двух раз — недопустимое состояние с несколькими решениями.
BUG+1 — почти BUG: все нерешённые клетки двузначные, кроме одной клетки с тремя кандидатами. Единственность решения говорит, что лишний кандидат в этой клетке должен быть истинным.
Почему это работает
Если бы этот лишний кандидат был ложным, поле превратилось бы в чистый BUG — обычно с несколькими решениями. Головоломка с единственным решением такой мир не допускает.
Значит, лишняя цифра вынуждена. Ставь её.
Как это заметить
Быстрая проверка всякий раз, когда все пустые клетки, кроме одной, двузначные.
Демонстрация
Классическая головоломка с единственным решением не может попасть в Binary Universal Grave (всё двузначное, несколько решений).
Проверь, что почти в каждой пустой клетке ровно два кандидата. Ровно в одной клетке их три — это BUG+1. Лишняя цифра — 9.
Если бы 9 была ложной, головоломка упала бы в эту смертельную двузначную могилу с несколькими решениями.
Поставь 9 в клетку с тремя кандидатами. Этого требует единственность решения — только в классических головоломках с единственным решением.
Пример 1
Ищи полностью двузначное поле с одной клеткой из трёх кандидатов.
BUG+1 — лишняя цифра 8.
Поставь 8. Это не даёт полю превратиться в Binary Universal Grave с несколькими решениями.
Пример 2
Ищи полностью двузначное поле с одной клеткой из трёх кандидатов.
BUG+1 — лишняя цифра 9.
Поставь 9. Это не даёт полю превратиться в Binary Universal Grave с несколькими решениями.