Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def is_valid(board, row, col, num):
- for x in range(9):
- if board[row][x] == num or board[x][col] == num:
- return False
- box_row, box_col = row // 3 * 3, col // 3 * 3
- for i in range(3):
- for j in range(3):
- if board[box_row + i][box_col + j] == num:
- return False
- return True
- def solve(board):
- for i in range(9):
- for j in range(9):
- if board[i][j] == 0:
- for num in range(1, 10):
- if is_valid(board, i, j, num):
- board[i][j] = num
- if solve(board):
- return True
- board[i][j] = 0
- return False
- return True
- board = [
- [0, 3, 5, 0, 7, 8, 0, 6, 4],
- [0, 0, 4, 6, 5, 3, 8, 0, 2],
- [6, 0, 8, 0, 1, 4, 0, 0, 5],
- [3, 9, 1, 8, 2, 0, 4, 0, 0],
- [0, 0, 7, 3, 9, 0, 0, 8, 0],
- [8, 5, 6, 1, 4, 7, 9, 2, 3],
- [0, 6, 9, 4, 8, 2, 0, 0, 0],
- [5, 8, 2, 7, 3, 1, 6, 4, 9],
- [0, 0, 3, 5, 6, 9, 2, 0, 8]
- ]
- solve(board)
- for row in board:
- print(row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement