#S306. 八皇后

八皇后

题目描述

八皇后问题 是一个经典的回溯算法问题,要求在一个 8×88 \times 8 的国际象棋棋盘上放置 8 个皇后,使得它们互相之间不能攻击对方。皇后可以沿 行、列、主对角线、副对角线 攻击,因此必须确保:

  • 每一行 只能有一个皇后。
  • 每一列 只能有一个皇后。
  • 任意主对角线(从左上到右下)不能有两个皇后。
  • 任意副对角线(从右上到左下)不能有两个皇后。

请找出所有符合条件的摆放方案,根据字典序输出。

输入描述

无需输入,求解 8 皇后问题。

输出描述

输出所有可能的 8 皇后摆放方案,每种方案占用一行,空格间隔,
最后一行,输出总方法数

示例

其中一种符合要求的八皇后摆放方案如下,皇后使用 Q 表示,空位使用 . 表示:

1 2 3 4 5 6 7 8
1 Q​ . .​ . .​ . .​ .
2 . .​ . .​ Q .​ . .​
3 .​ . .​ . .​ . . ​ Q
4 . .​ . .​ . Q​ . .​
5 .​ . Q​ . .​ . .​ .
6 . .​ . .​ . .​ Q .​
7 .​ Q .​ . .​ . .​ .
8 . .​ . Q​ . .​ . .​
无输入
1 5 8 6 3 7 2 4
1 6 8 3 7 4 2 5
以下省略
···