From 20e9569e94ccb8fb2e83cf0b632bf3c7504583aa Mon Sep 17 00:00:00 2001 From: krishna3324 Date: Wed, 12 Nov 2025 19:03:44 +0000 Subject: [PATCH] Add LeetCode #52 - N-Queens II solution in C++ --- Leetcode/Hard/NQueensII | Bin 0 -> 17040 bytes Leetcode/Hard/NQueensII.cpp | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100755 Leetcode/Hard/NQueensII create mode 100644 Leetcode/Hard/NQueensII.cpp diff --git a/Leetcode/Hard/NQueensII b/Leetcode/Hard/NQueensII new file mode 100755 index 0000000000000000000000000000000000000000..c57139d75568dff262cb14df06f0db089feff4e4 GIT binary patch literal 17040 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 literal 0 HcmV?d00001 diff --git a/Leetcode/Hard/NQueensII.cpp b/Leetcode/Hard/NQueensII.cpp new file mode 100644 index 00000000..d2881a60 --- /dev/null +++ b/Leetcode/Hard/NQueensII.cpp @@ -0,0 +1,39 @@ +#include +using namespace std; + +class Solution { +public: + int totalNQueens(int n) { + vector cols(n, false), diag1(2 * n, false), diag2(2 * n, false); + int count = 0; + backtrack(0, n, cols, diag1, diag2, count); + return count; + } + +private: + void backtrack(int row, int n, vector& cols, vector& diag1, vector& diag2, int& count) { + if (row == n) { + count++; + return; + } + for (int col = 0; col < n; ++col) { + if (cols[col] || diag1[row + col] || diag2[row - col + n]) + continue; + cols[col] = diag1[row + col] = diag2[row - col + n] = true; + backtrack(row + 1, n, cols, diag1, diag2, count); + cols[col] = diag1[row + col] = diag2[row - col + n] = false; + } + } +}; + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + + Solution sol; + vector tests = {1, 4, 8}; + for (int n : tests) { + cout << "For N = " << n << ", Number of Solutions = " << sol.totalNQueens(n) << "\n"; + } + return 0; +}