python 八皇后程序
时间: 2023-10-20 22:05:51 浏览: 40
以下是Python实现的八皇后程序:
```python
def solve_n_queens(n):
def is_valid(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 backtrack(board, row):
if row == n:
result.append(list(board))
return
for col in range(n):
if is_valid(board, row, col):
board[row] = col
backtrack(board, row + 1)
board[row] = -1
result = []
board = [-1] * n
backtrack(board, 0)
return result
```
该程序使用回溯算法来解决八皇后问题。is_valid函数用来判断当前位置是否合法,backtrack函数用来递归地搜索解空间。程序返回所有满足条件的解。