Если есть 9 строк, которые 9 строк, как судоку, но они, как
530070000
600195000
098000060
800060003
400803001
700020006
060000280
000419005
000080079
Который превращается в
534678912
672195348
198342567
859761423
426853791
713924856
961537284
287419635
345286179
Я думал, что это будет проще, но потом, однажды включив его в мою программу, он оставил огромные пробелы.
Я думал, что могу просто спуститься вниз по каждому столбцу и поместить наименьшее число в открытое пространство в первом столбце, если это не мешает ни одному из других чисел, но по мере продвижения я понял, что должен вернуться и удалить определенные номера, чтобы сделать его лучше.
Помните, что применяются только те условия, что числа в одном и том же столбце не могут быть одинаковыми, а числа в одном и том же ряду не могут быть одинаковыми, но ящиков нет.
Любой совет?
Сначала определите все возможные числа для каждой ячейки, учитывая только ячейки, заполненные на этот ход. Если в какой-либо ячейке есть только одно возможное число, выберите его и проведите повторную оценку затронутых ячеек (в той же строке, столбце и квадрате 3×3).
Когда вы больше не можете найти ячейку с единственной возможностью, используйте рекурсивный возврат.
То, что вы хотите сделать, это рекурсивный возврат.