leetcode-51-N-Queens II
2017-08-13 21:31
253 查看
问题
题目:[leetcode-51]思路
dfs注意剪枝。恢复状态。代码
class Solution { public: int totalNQueens(int n) { vector<int> visited; int ans = 0; dfs( n, 0, visited, ans ); return ans; } private: void dfs( int n, int cur, vector<int>& visited, int& ans ){ if( cur == n ) ++ans; else{ for(int k = 0; k < n; ++k){ if( valid(cur, k, visited) ){ visited.push_back( k ); dfs( n, cur+1, visited, ans ); visited.pop_back(); } } } }// dfs bool valid( int x, int y, vector<int>& visited ){ int sz = visited.size(); for(int u = 0; u < sz; ++u){ int v = visited[u]; // same colume if( y == v ) return false; // same diag if( abs(x-u) == abs(y-v) ) return false; } return true; }// valid };
相关文章推荐
- LeetCode-51. N-Queens和LeetCode-52. N-Queens II
- Leetcode 51. N-Queens && 52. N-Queens II(Hard)
- leetcode 51.N-Queens & 52. N-Queens II
- LeetCode 51 N-Queens II
- LeetCode 51 - N-Queens II
- Leetcode 51. N-Queens 52. N-Queens II
- [Leetcode] N-Queens II
- [leetcode] 52.N-Queens II
- [leetcode] N-Queens II
- n皇后问题leetcode-51. N-Queens
- leetcode:N-Queens II (n皇后问题2)【面试算法题】
- leetcode 51: Generate Parentheses
- LeetCode Weekly Contest 51
- [LeetCode] N-Queens II
- 决战Leetcode: easy part(51-96)
- LeetCode---N-Queens II
- leetCode 52.N-Queens II (n皇后问题II) 解题思路和方法
- N-Queens II -- leetcode
- 【E】【51】【leetcode题解】Rectangle Area
- [leetcode]N-Queens II