LeetCode N-Queens
来源:互联网 发布:java新技术框架 编辑:程序博客网 时间:2024/06/09 04:13
题目:
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> > solveNQueens(int n) {res.clear();memset(used, false, sizeof(used));dfs(0, n);return res;}private:vector<vector<string> > res;// a[i]表示第i行的a[i]列有Queenint a[100];int used[100];void dfs(int dep, int maxDep) {if (dep == maxDep) {vector<string> ans;for (int i = 0; i < maxDep; i++) {string s;int j;for (j = 0; j < a[i]; j++)s += '.';s += 'Q';j++;while (j != maxDep) {s += '.';j++;}ans.push_back(s);}res.push_back(ans);return;}for (int y = 0; y < maxDep; y++) {if (check(dep, y) && !used[y]) {used[y] = true;a[dep] = y;dfs(dep + 1, maxDep);used[y] = false;}}}bool check(int x, int y) {for (int i = 0; i < x; i++) {if (abs(i-x) == abs(y-a[i]))return false;}return true;}};
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
- Android推送 百度云推送 入门篇
- C#窗体摄像头应用
- URAL 1152 False Mirrors
- log for c
- 空格 在不同浏览器中显示距离不一致问题解决方法
- LeetCode N-Queens
- 彻底解决Operation not allowed after ResultSet closed的问题
- composite模式 透明和安全
- 用户个人界面简单UI及手势动画设计
- Qt之下拉框QComboBox相关signal对比--activated与currentIndexChanged
- Scripts:查询library cache lock和hang的脚本library_cache_locks_pins.sql
- 解决dos窗口下运行.class文件出现NoClassDefFoundError问题
- ftk学习记(combox篇)
- Scripts:查询使用UNDO最多的10个SQL hundo10.sql