← 返回题库
中级

Sudoku

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve(____):
    board = [list(map(int, row.split(____))) for row in board.split(____)]
    def is_valid(____):
        for i in range(____):
            if board[row][i] == num or board[i][col] == num:
                return False
        start_row, start_col = ____ * (____), ____ * (____)
        for i in range(____):
            for j in range(____):
                if board[start_row + i][start_col + j] == num:
                    return False
        return True
    def solve_sudoku():
        for i in range(____):
            for j in range(____):
                if board[i][j] == ____:
                    for num in range(____, ____):
                        if is_valid(____):
                            board[i][j] = num
                            if solve_sudoku():
                                return True
                            board[i][j] = ____
                    return False
        return True
    solve_sudoku()
    for row in board:
        print('____'.join(map(____)))

示例

输入
0,0,5,3,0,0,0,0,0;8,0,0,0,0,0,0,2,0;0,7,0,0,1,0,5,0,0;4,0,0,0,0,5,3,0,0;0,1,0,0,7,0,0,0,6;0,0,3,2,0,0,0,8,0;0,6,0,5,0,0,0,0,9;0,0,4,0,0,0,0,3,0;0,0,0,0,0,9,7,0,0
期望输出
1,4,5,3,2,7,6,9,8
8,3,9,6,5,4,1,2,7
6,7,2,9,1,8,5,4,3
4,9,6,1,8,5,3,7,2
2,1,8,4,7,3,9,5,6
7,5,3,2,9,6,4,8,1
3,6,7,5,4,2,8,1,9
9,8,4,7,6,1,2,3,5
5,2,1,8,3,9,7,6,4
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码