g007: 魔法祭壇上的交錯之道
標籤 : 演算法
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2024-11-25 23:00

內容

古代王朝因為長久的旱災,需要向天祈雨,而祈雨的儀式充滿了智慧與挑戰。在祈雨的聖地,設置了一個特殊的 Y 形軌道,其頂端分別有三座祭壇:A、B、C。每座祭壇上放置著祈雨的神聖符文,這些符文需依規定完成移動,才能喚醒天神降下甘霖。 祈雨儀式開始時,符文分散在 B 和 C 兩座祭壇上,如圖一所示。

 
圖一 圖二


你的任務是透過 Y 形軌道,將符文按照規則全部移送至祭壇 A(圖二所示)。
符文移動規則:

  1. 一次只能移動一個符文:
    • 每次移動時,必須選擇一個符文,並從所在的祭壇移動到另一個祭壇。
  2. 符文編號遞增:
    • 在每個祭壇上,靠近頂點的符文編號必須小於後面的符文編號。
  3. 奇偶不能相鄰:
    • 奇數符文與奇數符文不能相鄰,偶數符文與偶數符文亦然。

違反上述規則將導致儀式失敗。例如,如圖三所示,祭壇 C 上出現了以下錯誤:

  • 符文 1 和符文 3 都是奇數,卻相鄰擺放。(違反規則3)
  • 符文 3 的編號比符文 1 大,卻靠近頂點。(違反規則2)
圖三

移動過程範例:
初始狀態:圖一
    B 祭壇:符文 1、2。
    C 祭壇:符文 3、4。
    A 祭壇:空。

目標狀態:圖二
    A 祭壇:符文依規則排列,由前到後為 1、2、3、4。
    B 祭壇:空。
    C 祭壇:空。

指令格式: 移動過程的每一步指令格式為 a b c:
a 表示符文編號。
b 表示符文的當前所在位置(A、B 或 C)。
c 表示符文要移動到的位置(A、B 或 C)。

演變過程:(雙斜線 // 後面是說明)
1 B A //將符文 1 從 B 移動到 A。
2 B C //將符文 2 從 B 移動到 C。
3 C B //將符文 3 從 C 移動到 B。
2 C A //將符文 2 從 C 移動到 A。
3 B C //將符文 3 從 B 移動到 C。
4 C B //將符文 4 從 C 移動到 B。
3 C A //將符文 3 從 C 移動到 A。
4 B A //將符文 4 從 B 移動到 A。

最終結果
    A 祭壇:1、2、3、4(從上到下)。
    B 祭壇:空。
    C 祭壇:空。

 

輸入說明

第一行輸入 B 祭壇 上的符文編號:

  • 如果 B 祭壇上有符文,請輸入符文編號,按升序排列(例如:1 2)。
  • 如果 B 祭壇上沒有符文,則輸入 X 表示空祭壇。

第二行輸入 C 祭壇 上的符文編號:

  • 如果 C 祭壇上有符文,請輸入符文編號,按升序排列(例如:3 4)。
  • 如果 C 祭壇上沒有符文,則輸入 X 表示空祭壇。
輸出說明

輸出將所有符文移動到 A 祭壇 的完整步驟。 每個步驟以以下格式表示: 編號 來源 目標 編號:符文的編號。 來源:符文移動的起始祭壇(B 或 C 或 A)。 目標:符文移動的目標祭壇(B 或 C 或 A)。 最終所有符文在 A 祭壇 上時,必須按照編號的 升序排列。

範例輸入 #1
1 2
3 4
範例輸出 #1
4 C A
3 C B
4 A C
3 B A
4 C A
2 B C
4 A B
3 A C
4 B C
1 B A
4 C A
3 C B
4 A B
2 C A
4 B C
3 B A
4 C A
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
演算法
出處:
海青工商資訊科 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」