python怎么写八皇后问题
时间: 2023-10-07 15:11:27 浏览: 79
以下是一个简单的 Python 代码,用于解决八皇后问题:
```
def solve(n):
board = [-1] * n
result = []
def is_valid(row, col):
for r, c in enumerate(board):
if c == col or r - c == row - col or r + c == row + col:
return False
return True
def backtrack(row):
if row == n:
result.append(list(board))
return
for col in range(n):
if is_valid(row, col):
board[row] = col
backtrack(row + 1)
board[row] = -1
backtrack(0)
return result
# 测试代码
for solution in solve(8):
for row in solution:
print("".join(["Q" if i == row else "." for i in range(8)]))
print()
```
运行这段代码,将打印出所有的解决方案,每个方案都以一个 8x8 的棋盘形式表示。其中,Q 表示皇后的位置,. 表示空位置。
阅读全文