The **n-queens puzzle** is the problem of placing `n` queens on an `n x n` chessboard such that no two queens attack each other. Given an integer `n`, return all distinct solutions to the **n-queens puzzle**. You may return the answer in any order. Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space, respectively. **Example 1:** Input: `n = 4` Output: `[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]` **Example 2:** Input: `n = 1` Output: `[["Q"]]`
Backtracking / State Sets
We place queens row-by-row. To efficiently check if a position is valid, we track three conflicts: columns, positive diagonals (r + c), and negative diagonals (r - c). For an $n imes n$ board, if we find a valid configuration for all $n$ rows, we have a solution.