leetcode - N-Queens II
2014-10-26 14:11
274 查看
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution { private: int res; public: int totalNQueens(int n) { std::vector<int> state(n, -1); res = 0; dfs(state, 0); return res; } void dfs(std::vector<int> &state, int row) { int n = state.size(); if(row == n) { res++; return; } for(int col = 0; col < n; col++) if(isValid(state, row, col)) { state[row] = col; dfs(state, row+1); state[row] = -1;; } } bool isValid(std::vector<int> &state, int row, int col) { for(int i = 0; i < row; i++) if(state[i] == col || abs(row - i) == abs(col - state[i])) return false; return true; } };
相关文章推荐
- LeetCode---N-Queens II
- 【一天一道LeetCode】#52. N-Queens II
- leetcode:N-Queens II 的位运算非递归解法
- [Leetcode] N-Queens II
- LeetCode 52 N-Queens II (DFS)
- LeetCode N-Queens II
- 【LeetCode with Python】 N-Queens II
- leetcode N-Queens II
- leetcode hard模式专杀之52 N-Queens II
- Leetcode---N-Queens II
- [leetcode]52. N-Queens II
- [leetcode]N-Queens II
- LeetCode: N-Queens II
- LeetCode N-Queens II
- N-Queens II - LeetCode
- 【Leetcode】【python】N-Queens/N-Queens II
- 【Leetcode】N-Queens II (Backtracking)
- Leetcode: N-Queens II
- N-Queens II--LeetCode
- Leetcode-N-Queens II