a632. 12. Domino Rally
標籤 :
通過比率 : 76人/80人 ( 95% ) [非即時]
評分方式:
Tolerant

最近更新 : 2013-02-21 03:59

內容

骨牌有一個流行的變化玩法,就是將一些 (隨機選取) 骨牌平放,一個一個頭尾相接,然後將兩個相接的點數相同 (由左至右尋找) 的骨牌移除。以下面六張骨牌為例。原本抽出了六張骨牌。

  

要注意的是骨牌在放置時,有正向及反向兩個方向。遊戲從左側開始,移除任何一對骨牌之後要回到最左邊。在本例中,由於 12 號骨牌 (正向) 及 17 號骨牌 (反向) 相接的點數都是 5 點,所以先行移除。

  

骨牌靠攏後再從左側開始。這次,15 號和 20 號 (都是正向) 被移除了,因為它們相接的點數都是 3。骨牌再次靠攏。

  

由於無法再移除任何骨牌,遊戲就此結束。注意:儘管 20 號和 11 號相接的點數都是 4 卻不能移除,因為它們不是最左邊的配對。

寫一個程式,接受一列的骨牌編號及方向,重覆移除最左邊的配對,直到沒有配對為止。

輸入說明
輸入含有若干筆測資,每筆對應到一個由左至右的骨牌。一個骨牌資料包含了一個 1 到 28 的整數 (代表右圖中的骨牌編號),一個空白,及一個字元 (大寫 F 或 B) 表示骨牌的方向 (F 為正向,B 為反向)。每筆測資有 1 到 28 張骨牌,最後以 (0 F) 結束。每張骨牌都單獨一行。你可以假設在一筆測資中每張骨牌最多只出現一次,輸入資料都是正確的。
輸出說明
你的程式要輸出最後留下的骨牌。每筆骨牌測資輸出一行。每一行包含了在執行完所有可能的移除後所剩的骨牌編號。骨牌方向不要輸出。如果所有的骨牌都被移除,請輸出「DATASET CLEARED」。
範例輸入 #1
5 B
15 F
12 F
17 B
20 F
11 B
0 F
18 F
22 B
0 F
23 F
12 B
2 B
4 F
15 B
20 B
19 B
7 B
6 F
0 F
範例輸出 #1
5 11
DATASET CLEARED
19
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
出處:
HP CodeWars2007 [管理者: snail (蝸牛) ]

本題狀況 本題討論 排行

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