N皇后问题回溯算法

回溯算法解决N皇后问题

该算法采用递归回溯的方法,以一个一维数组board表示棋盘,数组下标表示行数,数组值表示该行上皇后的列数。逐个尝试每一列,如果当前位置合法,则将皇后放在该位置,然后递归进入下一行。当递归到最后一行时,说明找到了一个符合要求的解,将其加入结果集。

最后,通过调用solve_n_queens函数求解N皇后问题,并打印所有解。在示例中,求解了N=4的情况,并打印了所有解。

函数声明

def solve_n_queens(n: int) -> list[list[int]]:
    """N皇后问题回溯算法
    :param n: 棋盘大小
    :return: 所有符合要求的解
    """
pdf 文件大小:178.58KB