黑白棋子的移動

2021-08-23 14:08:15 字數 973 閱讀 2478

有2n個棋子(n≥4)排成一行,開始位置為白子全部在左邊,黑子全部在右邊,如下圖為n=5的情形:

移動棋子的規則是:每次必須同時移動相鄰的兩個棋子,顏色不限,可以左移也可以右移到空位上去,但不能調換兩個棋子的左右位置。每次移動必須跳過若干個棋子(不能平移),要求最後能移成黑白相間的一行棋子。如n=5時,成為:

任務:程式設計列印出移動過程。

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*

step10:o*o*o*--o*o*o*o*

step11:--o*o*o*o*o*o*o*

#include#include#includeusing namespace std;

int n,nowp,num;

char c[100];

void init(int);//初始化

void move(int);//移動

void mov(int);//移動的方案

int print();//輸出

int main()

int print()

void init(int n)

void mov(int n)

else }

void move(int n)

nowp=n;

print();

}

luogu1259 黑白棋子的移動

時空限制 1000ms 128mb 有2n個棋子 n 4 排成一行,開始為位置白子全部在左邊,黑子全部在右邊,如下圖為n 5的情況 移動棋子的規則是 每次必須同時移動相鄰的兩個棋子,顏色不限,可以左移也可以右移到空位上去,但不能調換兩個棋子的左右位置。每次移動必須跳過若干個棋子 不能平移 要求最後能...

P1259 黑白棋子的移動

我們先分析一下樣例 ooooooo oooooo o oooooo o ooooo o o ooooo o o oooo o o o oooo o o o ooo o o o o ooo o o o o o o oo o o o o o o o o o o o o o o o o o 每兩行分一組的...

xtu p1162 黑白棋子的移動

描述 有n個棋子 n 4 排成一行,開始位置為白子全部在左邊,黑子全部在右邊,如下圖為n 5的情形 移動棋子的規則是 每次必須同時移動相鄰的兩個棋子,顏色不限,可以左移也可以右移到空位上去,但不能調換兩個棋子的左右位置。每次移動必須跳過若干個棋子 不能平移 要求最後能移成黑白相間的一行棋子。如n 5...