有2n个棋子(4 <= n <= 20)排成一行,开始位置为白子全部在左边,黑子全部在右边,最右边有两个空格。
移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移,也可以右移,每次都移动到空格位置上。
但不能调换两个棋子的左右位置,并且每次移动必须跳过若干个棋子(不能不跳过其他棋子而平移),
要求最后能移成黑白相间的一行棋子。
请编程打印出移动的过程。
一个整数n (4 <= n <= 20) 。
移动过程,每行为一次移动之后各个棋子的状态(包括最开始尚未移动时的状态)。
白子用小写字母o表示,黑子用“*”表示,空格用“-”表示。
每行开头打印步数,其中“step”与数字之间有一个空格,数字与冒号之间无空格,冒号之后有一个空格,冒号为英文冒号。
棋子的符号(包括空格)之间无空格。
7
step 0: ooooooo*******-- step 1: oooooo--******o* step 2: oooooo******--o* step 3: ooooo--*****o*o* step 4: ooooo*****--o*o* step 5: oooo--****o*o*o* step 6: oooo****--o*o*o* step 7: ooo--***o*o*o*o* step 8: ooo*o**--*o*o*o* step 9: o--*o**oo*o*o*o* step 10: o*o*o*--o*o*o*o* step 11: --o*o*o*o*o*o*o*
分治