本文主要是介绍计蒜客-一维跳棋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一维跳棋是一种在
1×(2N+1)1\times(2N+1)
1×(2N+1) 的棋盘上玩的游戏。一共有
NN
N 个棋子,其中
NN
N 个是黑的,
NN
N 个是白的。游戏开始前,
NN
N 个白棋子被放在一头,
NN
N 个黑棋子被放在另一头,中间的格子空着。在这个游戏里有两种移动方法是允许的:你可以把一个棋子移到与它相邻的空格;你可以把一个棋子跳过一个(仅一个)与它不同色的棋子到达空格。
对于
N=3N=3
N=3 的情况,棋盘状态依次为:
1
WWW BBB
2
WW WBBB
3
WWBW BB
4
WWBWB B
5
WWB BWB
6
W BWBWB
7
WBWBWB
8
BW WBWB
9
BWBW WB
10
BWBWBW
11
BWBWB W
12
BWB BWW
13
B BWBWW
14
BB WBWW
15
BBBW WW
16
BBB WWW
对应的空格所在的位置(从左数)为:3 5 6 4 2 1 3 5 7 6 4 2 3 5 4。
输入格式
输入仅一个整数,表示针对
N(1≤N≤12)N(1 \leq N \leq 12)
N(1≤N≤12) 的取值。
输出格式
依次输出空格所在棋盘的位置,每个整数间用空格分隔,每行
55
5 个数(每行结尾无空格,最后一行可以不满
55
5 个数;如果有多组移动步数最小的解,输出第一个数最小的解)
样例输入
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
未完标记
这篇关于计蒜客-一维跳棋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!