棋子移動 1295

2022-09-10 15:54:40 字數 1137 閱讀 4595

這道題比較難

題目描述:

有2n個棋子(n≥4)排成一行,開始位置為白色全部在左邊,黑色全部在右邊。(其中字母o表示白色棋子,字母x表示黑色棋子)oooo***x。移動棋子的規則是:每次必須同時移動相鄰兩個棋子,顏色不限,可以左移也可以右移一空位上去,但不能調換兩個棋子的左右位,每次移動必須跳過若干個棋子(不能平移),要求最後能夠移成黑白相間的一行棋子。例如當n=4時,最終排列情況為:oxoxoxox。輸出棋子移動的過程。

輸入描述:
多組輸入,每組乙個正整數,佔一行。

輸出描述:
輸出移動步驟,每一步操作佔一行

樣例輸入:
樣例輸出:
4,5-->9,10

8,9-->4,5

2,3-->8,9

7,8-->2,3

1,2-->7,8

1 #include2 #include3 #include4

using

namespace

std;

5int

n,mj,mi,x,y;

6char a[101];7

void move(inti)8

22 printf("\n"

);23}24

void fun(int

n)25

31else36}

37int

main()

3854

return0;

55 }

signal

1 #include2 #include3 #include4

using

namespace

std;

5int

n, mj;

6int

mi;7

char a[101];8

void move(inti)9

20void fun(int

n)21

27else32}

33int

main()

34

棋子移動題解

魔法世界的歷史上曾經出現過一位赫赫有名的不敗戰神陳慶之,陳慶之以棋道悟兵法,一生身經數百戰,沒有一場敗績,而且沒有一場不是在絕對的劣勢中大勝敵軍。受此影響,魔法世界開始流行一種叫棋子移動的遊戲,即有2n個棋子 n 4 排成一行,開始位置為白子全部在左邊,黑子全部在右邊,例如當n 4時,棋子排列情況為...

黑白棋子的移動

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

CQOI2006 NKOJ2004 移動棋子

cqoi2006 移動棋子 time limit 50000ms memory limit 65536k case time limit 5000ms description 在乙個n n的棋盤上有n枚棋子。每次可以把一枚棋子往上 下 左 右方向之一移動一格,最後排成一行 一列或者主 副對角線上 因...