Я создал алгоритм генерации судоку, но он оказался ужасно неэффективным. На создание каждой головоломки уходило несколько минут. Так что теперь я пытаюсь снова написать его оптимальным образом.Но у меня возникли проблемы, с которыми мне нужна помощь.
Сначала я использовал первый подход, но теперь я собираюсь использовать второй, потому что я думаю, что он более эффективен (мы начинаем с правильной головоломки, которая гарантированно разрешима). Я прав, что второй подход лучше?
Когда я пытаюсь создать полностью заполненную сетку, я сталкиваюсь с трудностями. Мой алгоритм:
Этот метод гарантирует случайную сетку без дублирования числа. Однако в большинстве случаев, когда я не нарушаю никаких правил размещения, возникает конфликт - например, пустые ячейки, из которых удалены все кандидаты, и т. Д., И мне нужно начинать заново. Есть ли более элегантный / эффективный способ заполнить всю сетку числами без нарушения правил размещения и по-прежнему случайными числами?
Спасибо.