您的位置:首页 > 编程语言 > Python开发

菜鸟学习之python八皇后问题学习

2017-12-27 00:12 148 查看
#state 表示元祖 这里表示一个回溯问题 在八皇后问题每一次递归的层面是一行
def conflict(state,nextx):
nexty =len(state)
for i
in range(nexty):
if
abs(state[i]-nextx) in (0,nexty-i):
return True
return False

def queens(num,state):
if
len(state) ==num-1:
for pos
in range(num):
if not conflict(state,pos):
yield pos

print(list(queens(4,(1,3,0))))

为什么同样的问题,在state位置只先定下两个却不行?是位置的选择也还会影响结果的输出吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: