Leetcode -- N-Queens
来源:互联网 发布:淘宝买家贷款5万怎么贷 编辑:程序博客网 时间:2024/05/01 19:21
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.
Given an integer n, return all distinct solutions to the n-queens puzzle.
Each solution contains a distinct board configuration of the n-queens' placement, where 'Q'
and '.'
both indicate a queen and an empty space respectively.
For example,
There exist two distinct solutions to the 4-queens puzzle:
[ [".Q..", // Solution 1 "...Q", "Q...", "..Q."], ["..Q.", // Solution 2 "Q...", "...Q", ".Q.."]]
class Solution {public: vector<vector<string>> res; bool check(vector<int> pos,int cur,int p) { for(int i=0;i<cur;++i) if(pos[i]==p||abs(pos[i]-p)==abs(i-cur)) return 0; return 1; } void fun(vector<int> pos,int r) { int n=pos.size(); if(r==n) { vector<string> cur(n,string(n,'.')); for(int i=0;i<n;++i) cur[i][pos[i]]='Q'; res.push_back(cur); return; } for(int j=0;j<n;++j) { if(check(pos,r,j)) { pos[r]=j; fun(pos,r+1); } } } vector<vector<string>> solveNQueens(int n) { vector<int> pos(n,0); fun(pos,0); return res; }};
0 0
- 【LeetCode】N-Queens && N-Queens II
- leetcode N-Queens & N-Queens II
- Leetcode: N-Queens && N-Queens II
- 【Leetcode】【python】N-Queens/N-Queens II
- LeetCode: N-Queens II
- LeetCode: N-Queens
- LeetCode : N-Queens
- LeetCode : N-Queens II
- [Leetcode] N-Queens II
- leetcode 72: N-Queens
- LeetCode 38: N-Queens
- 【leetcode】N-Queens II
- 【leetcode】N-Queens
- LeetCode: N Queens II
- [LeetCode]N-Queens
- [LeetCode]N-Queens II
- [leetcode]N-Queens
- [LeetCode] Anagrams、N-Queens
- imx6q处理器,linux操作系统平台搭建 从SD卡启动系统
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- UESTC OJ1218(DP)
- D3.js中使用scale
- logstash-input-kafka
- Leetcode -- N-Queens
- vs2013 boost库编译小结
- nginx之反向代理
- 消失的模拟器
- const int *p, int *const p的区别
- Breadth-First-Search(伪代码)
- C++拷贝构造函数语意学 copy constructor(The Semantics of Constructors)
- 跟着猫哥学Golang[4] - switch
- 冒泡排序及其推理方法