问题4026--深入浅出学算法027-皇后问题

4026: 深入浅出学算法027-皇后问题

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 64 MB

题目描述

在n*n(1 <= n <= 8)的棋盘上放置n个皇后,使它们互不攻击,即任意两个皇后不允许处在同一横排。同一纵列,也不允许处在同一与棋盘边框成45o角的斜线上

输入

多组测试数据,每组输入一个整数n

输出

对于每组测试数据输出1行,如果没有可能做到输出No,否则在一行中输出所有皇后的位置,输出时按第1列所在行数,第2列所在行数,...输出(行的起始坐标为1),如果有多种可能,只输出行数最小的那组(即第一列行数最小的,若第一列行数最小的有多种情况,输出第二列行数最小的,依次类推)

样例输入 Copy

3
4

样例输出 Copy

No
2 4 1 3

提示

对于第2组数据,
 ________________
|   |   | 1 |   |
|___|___|___|___|
| 2 |   |   |   |
|___|___|___|___|
|   |   |   | 3 |
|___|___|___|___|
|   | 4 |   |   |
|___|___|___|___|

来源/分类