八皇后问题

发布于 2020-09-12  65 次阅读


python实现
ans=0
def search(num=0,lst=[]):
    if(num==8):
        global ans
        ans+=1
        print(lst)
        print("ans=",ans)
    else:
        for i in range(8):
            ok=True
            for j in lst:
                if(i==j[1] or (i+num)==(j[0]+j[1]) or (num-i)==(j[0]-j[1])):
                    ok=False
                    break
            if ok:
                lst.append((num,i))
                search(num+1,lst)
                lst.pop()
search(0)

如堕五里雾中
最后更新于 2022-03-12