N皇后:回溯算法
解题思路
使用深度优先搜索,按行搜索。如果下一行搜索不到合法的路径,则相关参数回退到上一层,并尝试更新y之后再次搜索。
伪代码如下:
res=[] # 用于存储最终结果
def dfs(n,x,arr,cols,diag1,diag2):
if x==n:
res.append(arr)
else:
# 对于每一行x,循环搜索不同的列y值
for y in range(n):
if check(x,y)合法:
原创
2020-10-25 10:23:35 ·
133 阅读 ·
0 评论