LintCode:N皇后问题
来源:互联网 发布:制作搞笑图片软件 编辑:程序博客网 时间:2024/05/16 18:19
LintCode:N皇后问题
import copyclass Solution: """ Get all distinct N-Queen solutions @param n: The number of queens @return: All distinct solutions """ def solveNQueens(self, n): # write your code here self.n = n self.x = [0 for i in range(n)] self.ans = [] self.backtrak(0) ans_sum = len(self.ans) res = [[['.' for i in range(n)] for i in range(n)] for i in range(ans_sum)] for i in range(ans_sum): for j in range(self.n): res[i][j][self.ans[i][j]] = 'Q' r_res = [] for res_list in res: tmp_l = [] for i in range(n): tmp_s = '' for j in range(n): tmp_s += res_list[i][j] tmp_l.append(tmp_s) r_res.append(tmp_l) return r_res def backtrak(self, t): if t == self.n: self.ans.append(copy.copy(self.x)) else: for i in range(self.n): self.x[t] = i if self.place(t): self.backtrak(t+1) def place(self, k): for j in range(k): if abs(self.x[k]-self.x[j]) == abs(k-j) or self.x[j] == self.x[k]: return False return Trueif __name__ == '__main__': s = Solution() print s.solveNQueens(4)
0 0
- LintCode-N皇后问题
- lintcode- N皇后问题
- LintCode:N皇后问题
- Lintcode n皇后问题
- LintCode N皇后问题
- lintcode-N皇后问题II
- LintCode 33-N皇后问题
- LintCode 33 N皇后问题
- lintcode-N-Queen, N皇后问题
- LintCode: N皇后问题I and II
- LintCode 34 N皇后问题 II
- N*N皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- N皇后问题
- n皇后问题
- N皇后问题
- N 皇后问题
- 利用github进行IDEA项目版本控制
- df -h卡死及umount报错device is busy
- export
- Xilinx System Generator模块中各个常见选项的含义
- mybatis-sql小结
- LintCode:N皇后问题
- Android 修改开机动画(bootanimation)
- UVA 11500
- 哈密尔顿环路问题
- HDU 1711 Number Sequence
- PHP项目开发流程
- struct stat结构体简介
- C++标准库,标准程序库,标准模板库之间是什么关系(重要!!!)
- 阅读