aboutsummaryrefslogtreecommitdiff
path: root/n_queens2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'n_queens2.cpp')
-rw-r--r--n_queens2.cpp35
1 files changed, 0 insertions, 35 deletions
diff --git a/n_queens2.cpp b/n_queens2.cpp
deleted file mode 100644
index 2af1bcd..0000000
--- a/n_queens2.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- int totalNQueens(int n) {
- vector<bool> col(n, true);
- vector<bool> anti(2 * n - 1, true);
- vector<bool> main(2 * n - 1, true);
- vector<int> row(n, 0);
- int count = 0;
- helper(0, row, col, main, anti, count);
- return count;
- }
-
-private:
- void helper(int i, vector<int> &row, vector<bool> &col, vector<bool> &main,
- vector<bool> &anti, int &count) {
- if (i == row.size()) {
- count++;
- return;
- }
- for (int j = 0; j < col.size(); j++)
- if (col[j] && main[i + j] && anti[i + col.size() - 1 - j]) {
- row[i] = j;
- col[j] = main[i + j] = anti[i + col.size() - 1 - j] = false;
- helper(i + 1, row, col, main, anti, count);
- col[j] = main[i + j] = anti[i + col.size() - 1 - j] = true;
- }
- }
-};
-
-int main() {
- Solution obj;
- cout << obj.totalNQueens(4);
-}