Я изучаю правила вариантов судоку и заинтересовался задачей разбиения сетки на произвольные связные регионы.
Правила
1) Дана стандартная сетка судоку

.
2) Сетка разделена на 9 скрытых регионов, каждый из которых содержит ровно 9 клеток.
3) Каждый регион должен содержать цифры

ровно по одному разу.
4) Действуют стандартные правила судоку: цифры не могут повторяться ни в одной строке или столбце.
5) Каждый регион должен быть ортогонально связным (клетки региона должны соединяться по горизонтали и/или вертикали).
6) Некоторые клетки содержат синие стрелочные подсказки.
7) Число внутри стрелочной подсказки указывает расстояние от этой клетки до границы её собственного региона в направлении стрелки, не считая саму клетку с подсказкой.
Например:
подсказка 3→ означает, что следующие 3 клетки справа принадлежат тому же региону,
а следующая за ними клетка (если она существует) принадлежит другому региону.
Элемент списка
8) Регионы могут иметь любую форму, пока остаются связными.
9) Количество стрелочных подсказок не ограничено.
Задача
Определить минимальное количество подсказок, необходимое для того, чтобы каждое допустимое разбиение сетки определялось единственным образом, при этом максимизируя количество пустых/свободных клеток.
Другими словами:
итоговая головоломка должна иметь ровно одно допустимое разбиение на регионы,
ровно одно решение судоку,
и как можно меньше подсказок.
Ссылки чтобы попробовать порешать :
Легкий:
https://sudokupad.app/t5ybnfq3wqСредний:
https://sudokupad.app/6inyscq2h8Сложный:
https://sudokupad.app/3zbhqcfwecОчень сложный:
https://sudokupad.app/eakgq08fi2https://i.sstatic.net/ZLLLMnlm.pnghttps://i.sstatic.net/EnMI3jZP.pnghttps://i.sstatic.net/6rmYZMBM.png