求高手解八皇后问题(python) 5

defconflict(state,nextX):nextY=len(state)foriinrange(nextY):ifabs(state[i]-nextX)in(0... 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=8, state=()):
for pos in range(num):
if not conflict(state, pos):
if len(state) == num-1:
yield (pos,)
else:
for result in queens(num, state + (pos,)):
yield (pos,) + result
想请问pos是从0到num-1走的把 ,如果是,pos=0时程序是怎么走的
展开
狠狠爱lj
2011-08-08 · TA获得超过5809个赞
知道小有建树答主
回答量:1345
采纳率:88%
帮助的人:539万
展开全部
pos是从0到num-1走的

pos=0时程序走这一段:
for result in queens(num, state + (pos,)):
yield (pos,) + result

就是先找第一个位置
追问
那就是for result in queens(8,(0,)) 这句会执行?怎么执行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式