n queen
N = 8
def print_board(board):
for i in range(N):
for j in range(N):
print(board[i][j], end=" ")
print()
print()
def isSafe(board, row, col):
# Check this row on left side
for x in range(col):
if board[row][x] == 'Q':
return False
for x, y in zip(range(row, -1, -1), range(col, -1, -1)):
if board[x][y] == 'Q':
return False
for x, y in zip(range(row, N), range(col, -1, -1)):
if board[x][y] == 'Q':
return False
return True
def solveNQueens(board, col):
if col >= N:
print_board(board)
return True
for i in range(N):
if isSafe(board, i, col):
board[i][col] = 'Q'
if solveNQueens(board, col + 1):
return True
board[i][col] = '.'
return False
board = [["." for _ in range(N)] for _ in range(N)]
if not solveNQueens(board, 0):
print("No solution found")