Я сделал простой Android Java Soloku Solver, реализующий Алгоритм X со ссылками, вдохновленными танцующими ссылками (https://github.com/pc1211/SUDOKU_A (начните с класса Solver и класса SatsNodesHandler).
Я использовал
- Нерекурсивный решатель
- Только правые и нисходящие ссылки в узлах (соединяющие «1» в матрице 729x324)
- Заголовки строк и заголовков столбцов с «обложкой»ID », равный уровню глубины, достигнутому при покрытии (0, если не раскрытый)
- стопка кандидатов (с уровнем глубины, достигнутым при нажатии)
Поскольку решение приходит после дробисекунды, что вы думаете о том, чтобы не использовать рекурсию или операции unlink / relink для покрытия / раскрытия строк и столбцов?
Спасибо