N皇后问题回溯算法
回溯算法解决N皇后问题
该算法采用递归回溯的方法,以一个一维数组board表示棋盘,数组下标表示行数,数组值表示该行上皇后的列数。逐个尝试每一列,如果当前位置合法,则将皇后放在该位置,然后递归进入下一行。当递归到最后一行时,说明找到了一个符合要求的解,将其加入结果集。
最后,通过调用solve_n_queens函数求解N皇后问题,并打印所有解。在示例中,求解了N=4的情况,并打印了所有解。
函数声明
def solve_n_queens(n: int) -> list[list[int]]:
"""N皇后问题回溯算法
:param n: 棋盘大小
:return: 所有符合要求的解
"""
178.58KB
文件大小:
评论区