欢迎24级新生

2210. N-Queens (Hard)

给定一个大小为 n 的正方形国际象棋棋盘,求有多少种方式可以放置 n 个皇后并使得她们互不攻击,即每一行、列、左斜、右斜最多只有一个皇后。

输入

输入是一个整数 n

输出

输出是一个二维字符串数组,表示所有的棋盘表示方法

样例

标准输入 复制文本
4
标准输出 复制文本
 [
[".Q..", // Solution 1
"...Q",
"Q...",
"..Q."],
["..Q.", // Solution 2
"Q...",
"...Q",
".Q.."]
]

提示

类似于在矩阵中寻找字符串,本题也是通过修改状态矩阵来进行回溯。不同的是,我们需要对每一行、列、左斜、右斜建立访问数组,来记录它们是否存在皇后。本题有一个隐藏的条件,即满足条件的结果中每一行或列有且仅有一个皇后。这是因为我们一共只有 n 行和 n 列。所以如果我们通过对每一行遍历来插入皇后,我们就不需要对行建立访问数组了

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 0
通过 0