水果王國裡,有一位名叫芒果的數學家,不只才華洋溢,更以舉世聞名的帥氣著稱。芒果發明了一種全新的棋類遊戲,王國居民便順理成章地將它稱為「帥棋」,還把遊戲中最重要的棋子命名為 芒果。
某年的水果王國棋王戰,衛冕棋王芒果與挑戰者柳丁鏖戰十小時難分高下,只好暫停對局隔日再開。不幸的是,半夜一場地震打亂了棋盤,只留下前一日每一回合的對局記錄。為了讓棋王戰順利繼續,你能根據對局記錄,幫他們畫出對局暫停時的盤面應該長什麼樣子嗎?
帥棋由兩方進行對弈,先行棋者稱先手,另一方稱後手。先手先行之後雙方輪流行動。
帥棋的棋盤有 $9$ 欄、$9$ 列。每一格的座標由兩個 $1$ 到 $9$ 的數字組成:第一個數字 $c$ 表示欄,第二個數字 $r$ 表示列,記作 $cr$。從先手的方向觀看,11 位於右上角、91 位於左上角、19 位於右下角、99 位於左下角。也就是說,畫面由左至右依序是第 $9,8,\ldots,1$ 欄,由上至下依序是第 $1,2,\ldots,9$ 列。
棋子以兩種方向之一放在棋盤上,代表先手與後手兩方分別擁有的棋子。先手棋子朝向較小的列數,後手棋子朝向較大的列數。
帥棋共有八種棋子,每種棋子都有一個單字母代號。各種棋子的名稱、代號與移動方式如下。
下文中的「前」是棋子面向的方向;先手的前方是較小的列數,後手的前方是較大的列數。「一格」表示欄數或列數相差 $1$。
| 代號 | 中文名稱 | 英文名稱 | 移動方式 |
| :---: | :---: | :---: | --- |
| A | 蘋果 | Apple | 向正前方移動一格。 |
| B | 香蕉 | Banana | 沿正前方直線移動任意格。 |
| C | 櫻桃 | Cherry | 向前移動兩格,再向左或右移動一格;櫻桃 可以越過中間的棋子。 |
| D | 火龍果 | Dragon fruit | 向正前方或四個斜向之一移動一格,但不能向正後方或正側方移動。 |
| E | 仙桃 | Eggfruit | 向正前方、前方兩個斜向、正側方或正後方移動一格,但不能向後方兩個斜向移動。 |
| F | 無花果 | Fig | 沿四個斜向之一移動任意格。 |
| G | 芭樂 | Guava | 沿前、後、左、右之一移動任意格。 |
| M | 芒果 | Mango | 向周圍八格之一移動一格。 |
除了 櫻桃 以外,棋子都不能越過其他棋子。棋子不能移至己方棋子所在的格子。
先手的升變區是第 $1$ 到第 $3$ 列,後手的升變區是第 $7$ 到第 $9$ 列。尚未升變的棋子只要從升變區出發或進入升變區,就有機會升變。
若 蘋果 或 香蕉 移動到最末列,或 櫻桃 移動到最末兩列,就必須升變;其他情況可以自行選擇是否升變。已升變的棋子不會再次升變。
棋子移至對方棋子所在的格子時,會捕獲該棋子。被捕獲的棋子會先解除升變,再成為捕獲者的俘虜。
玩家可以選擇自己的一枚俘虜,將它放到棋盤上的空格,稱為「打入」。打入的棋子屬於執行打入的玩家,朝向該玩家的前方,而且當下不會升變。
輸入保證所有捕獲與打入都符合規則,你不需要另外判斷打入限制。
初始局面如下,一開始雙方都沒有俘虜。. 表示空格;上方三列的棋子屬於後手,下方三列的棋子屬於先手。
9 8 7 6 5 4 3 2 1
+-------------------+
1 | B C D E M E D C B |
2 | . G . . . . . F . |
3 | A A A A A A A A A |
4 | . . . . . . . . . |
5 | . . . . . . . . . |
6 | . . . . . . . . . |
7 | A A A A A A A A A |
8 | . F . . . . . G . |
9 | B C D E M E D C B |
+-------------------+
除了移動棋子、捕獲與打入以外,玩家也可以使用一個回合執行「翻桌」。翻桌的效果如下:
棋盤、玩家與座標系本身都不會移動。翻桌完成後,回合交給另一方。
若一方的 芒果 被對方捕獲,該方落敗、另一方獲勝,對局結束。本題只要求根據給定的對局記錄還原盤面,保證輸入結束時對局尚未結束,因此理解或判斷上述勝負規則並不是解題所需。
對局記錄中的每一行表示當回合的動作。
未升變的棋子使用單一個字母 A、B、C、D、E、F、G、M 表示,已升變的棋子以 +<代號> 表示。例如,F 代表未升變的 無花果,而 +F 代表已升變的 無花果。
格子使用兩位數座標表示,第一位是欄、第二位是列。例如,76 表示第 $7$ 欄、第 $6$ 列。
移動、捕獲或打入具有以下格式,其中中括號包住的部分不一定出現:
[+]<棋子>[來源]<動作><目的地>[升變選擇]
[來源] 是棋子原本所在格的座標。若根據棋子的移動方式、路徑與盤面占用情形,只有一枚符合代號及升變狀態的己方盤上棋子能移到目的地,來源會被省略;否則一定會寫出來源。<動作> 是下列三個字元之一:- 表示移至空格,x 表示移至目的地並捕獲其上的棋子,* 表示打入。打入不會寫出來源。<目的地> 是動作完成後棋子所在格的座標。[升變選擇] 只會在尚未升變的棋子可以於這一步升變時出現。+ 表示升變,= 表示不升變;必須升變時只會出現 +。沒有升變機會,或移動的棋子已經升變時,不會寫出這個部分。例如:
A-76:將唯一可到達 76 的 蘋果 移至 76。E68-78:將 68 的 仙桃 移至 78;因為只寫 E-78 無法唯一決定棋子,所以記錄來源。Fx88=:無花果 移至 88、捕獲該處棋子,並且不升變。A*55:從俘虜中將一枚 蘋果 打入 55。F-55+:無花果 移至 55 並升變。+F-54:已升變的 無花果 移至 54。翻桌在對局記錄中以只有一個字元的動作表示:
Z
最終輸出是一幅只含 ASCII 字元的圖。整幅圖由 $11$ 欄、$9$ 列的格位組成;每個格位內部高 $5$ 個字元、寬 $11$ 個字元。中央 $9$ 欄是棋盤,左右各一欄用來畫俘虜。完整的版面繪製範例請見範例輸入輸出。
先手棋子使用下列四種框架。以下每行最左與最右的 | 是格位邊界,兩者之間恰有 $11$ 個字元;所有空白都是圖案的一部分。
蘋果、香蕉、櫻桃 使用最小框架:
| |
| -^ - |
| - - |
| | | |
| +---+ |
火龍果、仙桃 使用小框架:
| |
| -^ - |
| - - |
| | | |
| +-----+ |
無花果、芭樂 使用大框架:
| -^ - |
| - - |
| | | |
| | | |
| +-----+ |
芒果 使用最大框架:
| -^ - |
| -- -- |
| | | |
| | | |
| +-------+ |
每個框架已經包含棋子在 $5\times 11$ 格位內的完整對齊方式,不得增加、刪除或移動其中的空白。
將棋子代號放入框架時,列與欄都從格位內部的左上角開始以 $1$ 編號:
若棋子已升變,還需修改框架:
+,其他字元不變。+,其他字元不變。仙桃 與 芒果 不能升變。棋子在框架中的其他字元及空白一律不變。
上述框架朝向先手。要畫後手棋子時,依序進行:
^ 換成 v。空格的五列內部都由 $11$ 個空白組成。
畫面中央的九欄由左至右分別對應棋盤第 $9,8,\ldots,1$ 欄;九個格位列由上至下對應棋盤第 $1,2,\ldots,9$ 列。盤上棋子畫在其座標對應的格位中。
畫面最左欄是後手俘虜區。由上至下依序顯示 芭樂、無花果、仙桃、火龍果、櫻桃、香蕉、蘋果,也就是 G,F,E,D,C,B,A;最下方兩格為空。
畫面最右欄是先手俘虜區。最上方兩格為空,其後由上至下依序顯示 A,B,C,D,E,F,G。
俘虜一律使用未升變的框架。七種可成為俘虜的棋子即使數量為 $0$ 也必須畫出,並在框架內寫出其數量:
根據前述規則,數字只會有一位或兩位。
整幅圖的最上方與最下方均為下列邊界:
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
每兩個格位列之間則使用:
| +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ |
也就是說,內部橫線只穿過中央九欄棋盤,不穿過左右俘虜區。每個格位列的五行內容都以 | 分隔相鄰格位。輸出總共有 $1+9\times 6=55$ 行,每行恰有 $133$ 個 ASCII 字元。
競賽系統將提供互動式帥棋視覺化工具供下載。請將提供的 .html 檔案下載至電腦,再以瀏覽器直接開啟。無須安裝其他軟體;檔案下載完成後,使用時也無須網路連線。
工具會以本題規定的 ASCII 版面顯示局面。你可以操作互動式棋盤或編輯對局記錄,觀察各種動作對局面的影響。
本視覺化工具僅供參考,其行為可能與正式評測系統不完全一致。一切以題本中的題目敘述為準;請詳閱題目敘述,以取得完整且正確的實作規格。
輸入第一行包含一個整數 $N$,代表對局記錄中的動作數量。
接下來 $N$ 行中的第 $i$ 行包含一個字串 $S_i$,代表第 $i$ 個動作。每個 $S_i$ 都符合題目敘述中的對局記錄格式。
依照題目敘述的繪圖方式,輸出所有動作完成後的棋盤與雙方俘虜。
輸出必須恰有 $55$ 行,每行恰有 $133$ 個 ASCII 字元。
0
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | +-----+ | +---+ | +---+ | +-----+ | +-----+ | +-------+ | +-----+ | +-----+ | +---+ | +---+ | | | | | | | B | | | C | | | D | | | E | | | | | | E | | | D | | | C | | | B | | | | | G | | - - | - - | - - | - - | | M | | - - | - - | - - | - - | | | - - | -v- | -v- | -v- | -v- | -- -- | -v- | -v- | -v- | -v- | | | 0 -v- | | | | | -v- | | | | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | +-----+ | | | | | | +-----+ | | | | | | | | | | | | | | | | | | | | | | | F | | | | G | | | | | | | | F | | | | | - - | | - - | | | | | | - - | | | | 0 -v- | | -v- | | | | | | -v- | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | 0 | | | E | | | A | | | A | | | A | | | A | | | A | | | A | | | A | | | A | | | A | | -^- | | - - | - - | - - | - - | - - | - - | - - | - - | - - | - - | - - | | -v- | -v- | -v- | -v- | -v- | -v- | -v- | -v- | -v- | -v- | | A | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | | | | | | | | | 0 | | | D | | | | | | | | | | | -^- | | - - | | | | | | | | | | - - | | -v- | | | | | | | | | | | B | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | C | | | | | | | | | | | -^- | | - - | | | | | | | | | | - - | | -v- | | | | | | | | | | | C | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | B | | | | | | | | | | | -^- | | - - | | | | | | | | | | - - | | -v- | | | | | | | | | | | D | | | 0 | | | | | | | | | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | A | | -^- | -^- | -^- | -^- | -^- | -^- | -^- | -^- | -^- | -^- | | - - | - - | - - | - - | - - | - - | - - | - - | - - | - - | - - | | -v- | | A | | | A | | | A | | | A | | | A | | | A | | | A | | | A | | | A | | | E | | | 0 | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | -^- | | | | | | -^- | | -^- 0 | | | | - - | | | | | | - - | | - - | | | | | F | | | | | | | | G | | | | F | | | | | | | | | | | | | | | | | | | | | | | +-----+ | | | | | | +-----+ | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | | | | -^- | | | | | -^- 0 | | | -^- | -^- | -^- | -^- | -- -- | -^- | -^- | -^- | -^- | - - | | | - - | - - | - - | - - | | M | | - - | - - | - - | - - | | G | | | | | B | | | C | | | D | | | E | | | | | | E | | | D | | | C | | | B | | | | | | | +---+ | +---+ | +-----+ | +-----+ | +-------+ | +-----+ | +-----+ | +---+ | +---+ | +-----+ | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
8 A-76 Z A-76 Fx88= Z A-94 F-55+ E61-52
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | +-----+ | +---+ | +---+ | +-----+ | | +-------+ | +-----+ | +-----+ | +---+ | +---+ | | | | | | | B | | | C | | | D | | | | | | | E | | | D | | | C | | | B | | | | | G | | - - | - - | - - | | | M | | - - | - - | - - | - - | | | - - | -v- | -v- | -v- | | -- -- | -v- | -v- | -v- | -v- | | | 0 -v- | | | | | -v- | | | | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | +-----+ | | | +-----+ | | | | | | | | | | | | | | | | | E | | | | | | | | | F | | | | G | | | | - - | | | | | | | - - | | - - | | | -v- | | | | | | | 0 -v- | | -v- | | | | | | | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | +---+ | +---+ | +---+ | +---+ | +---+ | | +---+ | +---+ | 0 | | | E | | | | A | | | A | | | A | | | A | | | A | | | | A | | | A | | -^- | | - - | | - - | - - | - - | - - | - - | | - - | - - | - - | | -v- | | -v- | -v- | -v- | -v- | -v- | | -v- | -v- | | A | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | +---+ | | | | | | +---+ | | | 0 | | | D | | | A | | | | | | | | A | | | | -^- | | - - | - - | | | | | | - - | | | - - | | -v- | -v- | | | | | | -v- | | | | B | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | -^- | | | | | 0 | | | C | | | | | | - + - | | | | | -^- | | - - | | | | | | F | | | | | | - - | | -v- | | | | | | | | | | | | | C | | | 0 | | | | | +-----+ | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | B | | | | -^- | | | | | | | -^- | | - - | | | - - | | | | | | | - - | | -v- | | | | A | | | | | | | | | D | | | 0 | | | +---+ | | | | | | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | A | | -^- | -^- | | -^- | -^- | -^- | -^- | -^- | -^- | -^- | | - - | - - | - - | | - - | - - | - - | - - | - - | - - | - - | | -v- | | A | | | A | | | | A | | | A | | | A | | | A | | | A | | | A | | | E | | | 0 | +---+ | +---+ | | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | | | | | | | -^- | | -^- 1 | | | | | | | | | | - - | | - - | | | | | | | | | | | G | | | | F | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----+ | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | | | | -^- | | | | | -^- 0 | | | -^- | -^- | -^- | -^- | -- -- | -^- | -^- | -^- | -^- | - - | | | - - | - - | - - | - - | | M | | - - | - - | - - | - - | | G | | | | | B | | | C | | | D | | | E | | | | | | E | | | D | | | C | | | B | | | | | | | +---+ | +---+ | +-----+ | +-----+ | +-------+ | +-----+ | +-----+ | +---+ | +---+ | +-----+ | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
6 A-76 A-74 A-75 Ax75 A-16 A*66
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | +-----+ | +---+ | +---+ | +-----+ | +-----+ | +-------+ | +-----+ | +-----+ | +---+ | +---+ | | | | | | | B | | | C | | | D | | | E | | | | | | E | | | D | | | C | | | B | | | | | G | | - - | - - | - - | - - | | M | | - - | - - | - - | - - | | | - - | -v- | -v- | -v- | -v- | -- -- | -v- | -v- | -v- | -v- | | | 0 -v- | | | | | -v- | | | | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | +-----+ | | | | | | +-----+ | | | | | | | | | | | | | | | | | | | | | | | F | | | | G | | | | | | | | F | | | | | - - | | - - | | | | | | - - | | | | 0 -v- | | -v- | | | | | | -v- | | | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | +---+ | +---+ | | +---+ | +---+ | +---+ | +---+ | +---+ | +---+ | 0 | | | E | | | A | | | A | | | | A | | | A | | | A | | | A | | | A | | | A | | -^- | | - - | - - | - - | | - - | - - | - - | - - | - - | - - | - - | | -v- | -v- | -v- | | -v- | -v- | -v- | -v- | -v- | -v- | | A | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +-----+ | | | | | | | | | | 0 | | | D | | | | | | | | | | | -^- | | - - | | | | | | | | | | - - | | -v- | | | | | | | | | | | B | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | +---+ | | | | | | | 0 | | | C | | | | | A | | | | | | | | -^- | | - - | | | - - | | | | | | | - - | | -v- | | | -v- | | | | | | | | C | | | 0 | | | | | | | | | | +---+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | +---+ | | | | | | 0 | | | B | | | | | | A | | | | | | -^- | -^- | | - - | | | | - - | | | | | - - | - - | | -v- | | | | -v- | | | | | | A | | | D | | | 0 | | | | | | | | | +---+ | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | +---+ | | | | | | | | | | 0 | | | A | | -^- | -^- | | -^- | -^- | -^- | -^- | -^- | | -^- | | - - | - - | - - | | - - | - - | - - | - - | - - | | - - | | -v- | | A | | | A | | | | A | | | A | | | A | | | A | | | A | | | | E | | | 0 | +---+ | +---+ | | +---+ | +---+ | +---+ | +---+ | +---+ | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | -^- | | | | | | -^- | | -^- 0 | | | | - - | | | | | | - - | | - - | | | | | F | | | | | | | | G | | | | F | | | | | | | | | | | | | | | | | | | | | | | +-----+ | | | | | | +-----+ | | +-----+ | | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+ | | | | | | | -^- | | | | | -^- 0 | | | -^- | -^- | -^- | -^- | -- -- | -^- | -^- | -^- | -^- | - - | | | - - | - - | - - | - - | | M | | - - | - - | - - | - - | | G | | | | | B | | | C | | | D | | | E | | | | | | E | | | D | | | C | | | B | | | | | | | +---+ | +---+ | +-----+ | +-----+ | +-------+ | +-----+ | +-----+ | +---+ | +---+ | +-----+ | +-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
因為本題輸出量較大,YTP 原始題本上並無提供範例測試資料。
你可以在這裡找到範例測試資料以及視覺化工具。
範例一中,對局記錄沒有任何動作,因此直接輸出初始局面。
範例二的動作依序如下:
A-76 將 蘋果 移至 76。Z。所有盤上棋子旋轉半圈並交換所屬,雙方俘虜也互換。A-76 移動一枚 蘋果。Fx88= 將 無花果 移至 88,捕獲先手的 無花果 並選擇不升變。被捕獲的 無花果 成為後手的俘虜。Z。盤上棋子旋轉並交換所屬;後手剛才取得的 無花果 因此成為先手的俘虜。A-94 將 蘋果 移至 94。F-55+ 將 無花果 移至 55 並升變。E61-52 將 61 的 仙桃 移至 52。由於後手位於 41 的另一枚 仙桃 也能移至 52,因此記號中必須寫出來源座標 61。最後,先手的俘虜中有一枚 無花果,盤面 55 上有一枚已升變的先手 無花果,52 上則有一枚後手 仙桃。
範例三的動作依序如下:
A-76 將 77 的 蘋果 移至 76。A-74 將 73 的 蘋果 移至 74。A-75 將 76 的 蘋果 移至 75。Ax75 捕獲 75 的先手 蘋果;該棋子成為後手的俘虜。A-16 將 17 的 蘋果 移至 16。A*66 將剛才捕獲的 蘋果 打入 66。最後,75 與 66 上各有一枚後手的 蘋果,雙方都沒有俘虜。
2026 YTP 高中組決賽 p3
| No. | Testdata Range | Constraints | Score |
|---|---|---|---|
| 1 | 0~2 | 範例測試資料 | 0 |
| 2 | 0~32 | 無額外限制 | 10 |