#558. 一维跳棋

一维跳棋

一维跳棋是一种在 1×(2N+1)1×(2N+1)的棋盘上玩的游戏。一共有 2N2N 个棋子,其中 NN 个是黑的,NN 个是白的。游戏开始前,NN 个白棋子被放在一头,NN 个黑棋子被放在另一头,中间的格子空着。在这个游戏里有两种移动方法是允许的:你可以把一个棋子移到与它相邻的空格;你可以把一个棋子跳过一个(仅一个)与它不同色的棋子到达空格。

对于 N=3N=3 的情况,棋盘状态依次为:

WWW BBB 
WW WBBB 
WWBW BB 
WWBWB B 
WWB BWB 
W BWBWB   
 WBWBWB 
BW WBWB 
BWBW WB 
BWBWBW 
BWBWB W 
BWB BWW 
B BWBWW 
BB WBWW 
BBBW WW 
BBB WWW

对应的空格所在的位置(从左数)为:3 5 6 4 2 1 3 5 7 6 4 2 3 5 43~5~6~4~2~1~3~5~7~6~4~2~3~5~4

输入格式

输入仅一个整数,表示针对 N(1N10)N(1≤N≤10) 的取值。

输出格式

依次输出空格所在棋盘的位置,每个整数间用空格分隔,每行 55 个数(每行结尾无空格,最后一行可以不满 55 个数;如果有多组移动步数最小的解,输出第一个数最小的解)

本题spj尚未完善,请先自主尝试样例

洛谷原题P2739

特判说明本题答案不唯一,符合要求的答案均正确

格式说明输出时每行末尾的多余空格,不影响答案正确性

输入、输出要求要求使用「文件输入、输出」的方式解题,输入文件为 chess.in,输出文件为 chess.out

样例输入

4

样例输出

4 6 7 5 3 
2 4 6 8 9 
7 5 3 1 2 
4 6 8 7 5 
3 4 6 5