#A1243. N皇后

N皇后

题目背景

八皇后问题(Eight Queens),是由国际象棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。

问题表述为:在8×8格的国际象棋棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一对角线上,问有多少种摆法。


题目描述

要在N×N(N≤8)的棋盘上放N个皇后,使得任意两个皇后都不能吃(皇后能吃同一行、同一列、同一对角线的其他皇后),求方案总数,并按字典序输出所有方案。每种方案输出每一行皇后的纵坐标,如果无解,输出"no solute"。

例如:当N=4时,下图是一种合法方案。

image

以下序列中的每个数是每行皇后的列坐标。

2 4 1 3


输入格式

一个整数N(1≤N≤8)。

输出格式

每行对应一种方案,按序列的字典序顺序输出棋盘每行上皇后的纵坐标,中间用空格分开;

最后输出方案总数。


输入/输出样例

4
2 1 4 3
3 1 4 2
2

说明/提示

时间1000ms,内存256MiB