小编Clu*_*der的帖子

具有暴力回溯错误的Python Sudoku递归

我做功课一道数独题求解,但我遇到了一些困难.该代码现在周期过去的解决方案,虽然它确实达到它容易难题,并为困难的难题,它卡住几个9的没有明显的原因.我将不胜感激任何帮助.(check_cell确定放置是否有效.)

  1. 是回溯这段代码正确实施,如果没有,怎么会缝?
  2. 如何阻止求解器冻结?它解决了约3行,然后冻结,改变大部分值至787-9.

一些代码:

def solve_helper(self, row, col):
# Try placing a number in each column of current row
    board = self.the_board
    if board[row][col] != 0:
        ?????
    elif board[row][col] == 0:
        for i in range(1,10):
            print("Setting value at i with ") + str (i) + (" located at " ) + str(row) + str(col)
            self.set_cell(row, col, i)
            self.guesses = self.guesses + 1
            if self.check_cell(row, col):
                if self.solve_helper(row, col): return True
            else:
                self.set_cell(row, col, 0)
    else:
        return self.mover(row,col)
    return False

def …
Run Code Online (Sandbox Code Playgroud)

python recursion sudoku backtracking

5
推荐指数
1
解决办法
1815
查看次数

标签 统计

backtracking ×1

python ×1

recursion ×1

sudoku ×1