[Leetcode 92] 52 N-Queens II
2013-07-28 08:41
330 查看
Problem:
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
View Code
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution { public: int dim, *col, cnt; vector<vector<string> > res; int totalNQueens(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function dim = n; cnt = 0; string s(n, '.'); col = new int ; vector<string> tmp; for (int i=0; i<n; i++) { col[i] = -1; tmp.push_back(s); } dfs(tmp, 0); delete [] col; return cnt; } private: void dfs(vector<string> &s, int r) { if (r == dim) { cnt++; return; } for (int i=0; i<dim; i++) { if (col[i] == -1 && isValid(s, r, i)) { col[i] = r; s[r][i] = 'Q'; dfs(s, r+1); s[r][i] = '.'; col[i] = -1; } } } bool isValid(vector<string> &s, int r, int c) { for (int i=0; i<dim; i++) { if ((col[i] != -1) && s[col[i]][i]=='Q' && ((i-c == r-col[i]) || (i-c == col[i]-r))) return false; } return true; } };
View Code
相关文章推荐
- LeetCode52:N-Queens II
- leetcode[52]N-Queens II
- [leetcode 52] N-Queens II
- leetcode hard模式专杀之52 N-Queens II
- Leetcode 52 N-Queens II
- LeetCode52 N-Queens II
- [LeetCode]52 N-Queens II
- LeetCode(52) N-Queens II
- LeetCode(52) N-Queens II
- Leetcode 52 N-Queens II 回溯搜索
- Leetcode52: N-Queens II
- LeetCode-52-N-Queens II 同前一题
- leetcode-52-N-Queens II
- Leetcode52 N-Queens II
- [Leetcode 52, Hard] N Queens II
- LeetCode52——N-Queens II
- LeetCode 52 N-Queens II (DFS)
- LeetCode_52---N-Queens II
- 8.18 [LeetCode 52] N-Queens II
- LeetCode 52 N-Queens II