八皇后问题实现,皇后实现,效率较低import s
八皇后问题实现,皇后实现,效率较低import s
效率较低
import sys sys.setrecursionlimit(100000) qn = 8 pos = {} [pos.update({r:0}) for r in range(qn)] def printboard(): board = [ ['x' if c==pos[r] else '.' for c in range(qn) ]for r in range(qn) ] print '\\n'.join([' '.join(i) for i in board]) def check(q,col): # return True for row in range(q): if col== pos[row] or abs(row-q) == abs(col-pos[row]): return False return True def site_next(q,col): print q,col if col >= qn and q==0: print 'failure out' elif col >= qn and q>0: print 'goback2 q,col',q-1,pos[q-1]+1 site_next(q-1,pos[q-1]+1) elif check(q,col): pos[q]=col printboard() if q >= qn-1: print 'success out' return print 'ok,next q',q+1 site_next(q+1,0) elif col < qn-1: print 'check next col',col+1 site_next(q,col+1) elif q>0: print 'goback q,col',q-1,pos[q-1]+1 site_next(q-1,pos[q-1]+1) if __name__ == '__main__': site_next(0,0)#该片段来自于http://byrx.net
相关内容
- python实现的代码行数统计代码,python代码行数统计,''
- xiami music,xiami,#!/usr/bin/e
- python中字典(dict)和字符串之间的相互转换,pythondi
- python递归解决0-1背包问题,python递归0-1背包,#coding:utf
- python编写简单抽奖系统,python编写抽奖,#!/usr/bin/e
- 下载糗事百科热图,糗事百科热图,#!/usr/bin/e
- 分割合并文件,分割合并,fn = 'image.
- 单链表和二叉树的操作,单链表二叉树操作,#author: Ji
- 抓取网站特定内容后直接入mysql库,抓取入mysql库,Pyth
- python中常用检测字符串的相关函数使用范例,python范例
评论关闭