def is_safe(board, row, col):
# 检查当前位置是否安全
# 检查列上是否有皇后
for i in range(row):
if board[i] == col or \
board[i] - i == col - row or \
board[i] + i == col + row:
return False
return True
def print_solution(board):
for row in board:
line = ['Q' if col == row else '.' for col in range(8)]
print(' '.join(line))
print("\n")
def eight_queens():
board = [-1] * 8 # 每个元素表示对应行的皇后所在的列
for row in range(8):
for col in range(8):
if is_safe(board, row, col):
board[row] = col
break
print_solution(board)
# 调用函数解决八皇后问题
eight_queens()