Python 解决 8 皇后问题
来源:互联网 发布:ps淘宝宝贝详情页尺寸 编辑:程序博客网 时间:2024/05/21 01:31
最近在学Python,很多语法都跟C/C++不同。下面是用Python写的八皇后问题,结果都以追加方式写入了当前文件夹下的 result.txt。
# coding = utf-8# n皇后问题def conflict(s, x, y): for i in range(y): if (abs(s[i] - x) == y - i) or (x == s[i]): return True return Falsedef searchAnswer(y, n, s, ct, f): if y == n: ct[0] += 1 print('') print('Solution', ct[0], ':') f.write('\nSolution ' + str(ct[0]) + ':\n') for i in range(n): ans = '' for j in range(n): if solution[i] == j: ans += 'X ' else: ans += 'O ' print(ans) f.write(ans+'\n') for x in range(n): if not conflict(s, x, y): s[y] = x searchAnswer(y + 1, n, s, ct, f)while True: solution = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] counter = [0] print('------------N Queens-------------') n = int(input('Enter the N: ')) if 0 == n: break f = open("result.txt", "a") f.write('\n------------- ' + str(n) + ' Queens-------------\n') for x in range(n): solution[0] = x searchAnswer(1, n, solution, counter, f) f.close()
1 0
- Python 解决 8 皇后问题
- 使用Python生成器解决八皇后问题
- C++/python解决无穷皇后问题
- C++ 解决8皇后问题
- scala 解决8皇后问题
- python解8皇后问题
- 回溯法解决2n皇后(8皇后)问题
- 用python的生成器yield轻松解决8皇后的问题以及斐波拉契数列
- python基于右递归解决八皇后问题的方法
- Python利用遗传算法解决八皇后问题
- 利用python的生成器解决八皇后问题
- 八皇后问题——用Python解决
- 递归实现解决8皇后问题
- 回溯法 解决 8皇后问题
- 8皇后问题的递归解决 java
- 回溯法解决8皇后问题
- 8皇后问题Python与C++实现
- python-八皇后问题
- 六级英语学习(一)
- setsockopt()用法(参数详细说明)
- char []与char*区别
- HTML头标签的使用
- 浙大PAT甲级 1037
- Python 解决 8 皇后问题
- javascript的一些基础知识(2)
- JS 操作节点
- setsockopt设置socket状态
- Java实现冒泡排序算法
- POJ 3057 最大二分匹配+bfs + 二分
- iOS开发 ☞ GCD使用
- Mac OS X 10.8.5上面安装PyQt5.7详细过程
- setsockopt用法详解