Python实现八皇后
来源:互联网 发布:2017新开放域名后缀 编辑:程序博客网 时间:2024/05/20 05:11
首先判断下一个皇后与当前皇后是否冲突:
def conflict(state,nextY):
nextX=len(state)
for i in range(nextX):
if abs(state[i]-nextY) in (0,nextX-i):
return True
return False
其中nextX是代表下一个皇后的水平位置,nextY代表下一个皇后的垂直位置,当下一个皇后与上一皇后的水平距离为0(列相同),或者等于垂直距离(对角线)返回true,否则为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 quuens(num,state+(pos,)):
yield (pos,)+result
阅读全文
1 0
- 八皇后python实现
- python实现八皇后
- Python实现八皇后
- 八皇后的python实现
- 用python实现八皇后
- 八皇后问题python实现
- Python实现八皇后问题
- 八皇后问题(Python实现)
- 用Python快速实现八皇后问题
- 八皇后算法-python
- python-八皇后问题
- Python八皇后问题
- python 八皇后问题
- python-八皇后问题
- python实现八皇后问题(百练OJ:2754:八皇后)
- 爬山法实现 八皇后问题 (Python 实现)
- 八皇后递归实现
- 八皇后javascript实现
- Nginx之升级和构建后添加新的模块
- _.clone浅复制
- SQL面试题之行列转换
- 使用图片作为列表的指定图标
- sql重重之重
- Python实现八皇后
- 关于input文本框,设置为readonly后,onchage事件无响应处理方案
- 【二分优化】Preparing for Merge Sort CodeForces
- 1043. 输出PATest(20)--Python
- spring中IOC容器创建对象,对象依赖关系处理
- 使用JSONObject将json文件转化成对象
- php使用kibana实例1-----查询数据
- Nginx之虚拟服务器配置
- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:con