#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位置只先定下两个却不行?是位置的选择也还会影响结果的输出吗?