【发布时间】:2013-12-15 01:49:00
【问题描述】:
我在过去创建了一个非常简单的算法来蛮力数独解决方案。这很容易以递归方式完成,只需将每个单元格中的每个可能值放入每个组合中,只要没有不一致(例如同一行中的两个单元格具有相同的值)。
递归(伪代码):
solve_sudoku(int[][] cell, int x, int y)
if (isSolution)
{
return field;
}
else
{
for (int i=1; i<9; i++)
{
if (legal_move(x,y,i))
cell[x][y] = i;
solve_sudoku(cell,x+1,y);
}
}
我想知道是否有暴力破解数独解决方案的迭代方法?我不认为这是可能的,但我不确定。如果存在,会是什么样子?
赫克托
【问题讨论】:
-
回溯是否适合您的需求? en.wikipedia.org/wiki/Backtracking
标签: algorithm recursion iteration