Simple Python Code
def is_safe(board, row, col, n):
"""Check if queen can be placed at board[row][col]"""
for i in range(col):
if board[row][i] == 1:
return False
for i, j in zip(range(row, -1, -1), range(col, -1, -1)):
if board[i][j] == 1:
return False
for i, j in zip(range(row, n), range(col, -1, -1)):
if board[i][j] == 1:
return False
return True
def solve_n_queens(board, col, n):
"""Backtracking"""
if col >= n:
return True
for i in range(n):
if is_safe(board, i, col, n):
board[i][col] = 1
if solve_n_queens(board, col + 1, n):
return True
board[i][col] = 0
return False
print("4-Queens Problem:")
n = 4
board = [[0] * n for _ in range(n)]
if solve_n_queens(board, 0, n):
for row in board:
print(f" {row}")
print()Advanced Python Code
def is_safe(board, row, col, n):
"""Check if queen can be placed at board[row][col]"""
for i in range(col):
if board[row][i] == 1:
return False
for i, j in zip(range(row, -1, -1), range(col, -1, -1)):
if board[i][j] == 1:
return False
for i, j in zip(range(row, n), range(col, -1, -1)):
if board[i][j] == 1:
return False
return True
def solve_n_queens(board, col, n):
"""Backtracking"""
if col >= n:
return True
for i in range(n):
if is_safe(board, i, col, n):
board[i][col] = 1
if solve_n_queens(board, col + 1, n):
return True
board[i][col] = 0
return False
print("4-Queens Problem:")
n = 4
board = [[0] * n for _ in range(n)]
if solve_n_queens(board, 0, n):
for row in board:
print(f" {row}")
print()