[求助][算法]巧移黑白子问题!
开始时,把n个黑子与n个白子排成一行:**..*OO..O(*:黑 O白)经过n次移动,2n个子交错排列 :*O*O*O*O*O..或者O*O*O*O*O*..
移动规则:
1. 每次只能将相邻的(中间有空格的两粒棋子视为不相邻)两粒棋子同时移动到与某
棋子相邻的同一行的空位处,在移动过程中不许交换被移动的两粒棋子的左右顺序。
2. 与这一行棋子的内部空格相邻的任何棋子不许移动。
3. 在每一次移动结束后,这一行棋子的内部最多允许出现两个空格,且两个空格必
须连续。
4. 最左边的两粒棋子不许向左移动,最右边的两粒棋子不许向右移动。
注意,第n次移动结束后,连续排列的2 n粒黑白相间的棋子内部不能有空格。
下面是n =3时,移动棋子的演示过程:
开始: ***OOO
t1 : *OOO**
t2 : *OO *O*
t3 : O*O*O*
求助:n = 4的移动过程,还有n为任意正整数时的方法。