a216: F. 七對子
標籤 : 2022國中組初賽
通過比率 : 5人/5人 ( 100% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-09-07 13:48

內容

2022 網際網路程式設計全國大賽 國中組初賽

「榮,立直一發自摸斷么七對清一色赤寶一,役滿。」

熱愛日本麻將(以下簡稱「日麻」)的優希,對於「七對子」這個役種有著異常的喜愛。於是,她想請你判斷她的手牌距離達到「七對子」還有多少「向聽」。

或許你正擔心著你對日麻不夠了解——不用擔心,優希會講解的比四年前還要更詳細。

日麻是一種麻將遊戲,使用的牌分為萬子牌、餅子牌、索子牌及字牌。萬子牌、餅子牌、索子牌為數字牌,每個類別皆有九張不同的牌,分別為「一萬」到「九萬」、「一餅」到「九餅」、「一索」到「九索」。而字牌一共由七張不同的牌組成,依序為「東」、「南」、「西」、

「北」、「白」、「發」、「中」。在一副日麻牌中,所有的萬子牌、餅子牌、索子牌、字牌分別各有 4 張,整副日麻一共由 (9 + 9 + 9 + 7) × 4 = 136 張牌組成。

為了方便表示,每張牌皆以一個數字搭配一個字母作為其代碼。數字表示其序數,字母表示其種類:萬子為m、餅子為p、索子為s、字牌為z。舉例來說:「七萬」的代碼為7m、「二索」的代碼為2s、「中」的代碼為7z。

(日麻牌圖片取自維基百科,由 Cangjie6 上傳,以創用 CC 姓名標示-相同方式分享 4.0 國際授權條款釋出。)

在大部分的日麻牌局中,通常會加入一種特別的牌——赤寶牌。赤寶牌一共有三種:赤五萬、赤五餅、赤五索,代碼分別為0m、0p、0s。一個常見的赤寶牌規則為,取出五萬、五餅、五索各一張,並加入赤五萬、赤五餅、赤五索各一張。這樣一來整副牌的數量沒有變動,只是其中一張五萬、五餅、五索被換成了赤寶牌。在本題中我們也將採用上述的三張赤寶牌的日麻規則。赤寶牌與對應的一般牌視為兩張相同的牌,但在計分時手上的赤寶牌數量將提升得到的點數。在瞭解了整副日麻牌的組成後,優希終於可以開始講解日麻遊戲的流程了。在日麻的遊戲過程中,玩家大部分時候手上皆持有 13 張牌,當輪到玩家「摸牌」時,玩家會取一張牌加入手牌。當手上的 13 張牌與取來的牌組成特定的組合時,即為「自摸」。若取來的牌沒能達成特定組合,玩家必須從 14 張牌中選擇其中一張打出,回到手上只持有 13 張牌的狀態。

在所有的組合中,優希最喜歡的便是「七對子」了。「對子」指的就是兩張相同的牌,顧名思義,七對子就是手上的 14 張牌分別能組成 7 個不同的對子。更精確的說,無論手牌的順序為何,只要手上的 14 張牌能分成七組,且每組牌為兩張相同的牌,並且每一組之間的牌皆相異,則這 14 張牌形成「七對子」。特別注意的是,赤寶牌與其對應的一般牌可以組成一個對子,並且其與兩張對應的一般牌組成的對子被視為是相同的。例如:五餅和赤五餅可以組成一個對子,但其與兩個五餅組成的的對子被視為是相同的。

最後,優希要教你什麼是「聽牌」與「向聽」。對於手上的 13 張牌,若存在某一張牌在取進手牌後可以滿足「七對子」條件,這 13 張牌就被稱為是七對子「聽牌」。而七對子的「向聽」數量即表示至少還要再「摸牌」幾次才能達到「聽牌」的條件。在本題中,我們將「聽牌」狀態的「向聽」數量視為 0。

舉例來說,1m 1m 2m 2m 3m 3m 4m 4m 5m 5m 6m 6m 7m這 13 張牌達到七對子的

「聽牌」,因為只要再取進一張7m,即可滿足七對子的條件;而1m 1m 2m 2m 3m 3m 4m 4m

0m 5m 6m 7m 8m的七對子「向聽」數量即為 1,因為如果在下次「摸牌」時取進6m並打出

7m或8m,即可達到「聽牌」條件。

在說明完了一大串的日麻規則後,想必你已經對日麻躍躍欲試了!給你優希手上的 13 張牌,她想請你判斷這些牌的七對子向聽數。為了向優希學到更多日麻知識,請你寫一支程式幫幫優希吧!

輸入說明

輸入僅一行,包含 13 個字串 S1,S2,...,S13,表示優希手上的十三張牌的代碼,字串間以一個空白隔開。

  • Si 皆為題目敘述中說明的代碼,且每種牌出現的數量不會超過題目敘述中說明的數量。
輸出說明

輸出一行,包含一個整數,表示優希手牌的七對子向聽數。

範例輸入
1m 1m 2m 2m 3m 3m 4m 4m	5m 5m 6m 6m 7m
範例輸出
0
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (1%): 1.0s , <1K
公開 測資點#1 (1%): 1.0s , <1K
公開 測資點#2 (1%): 1.0s , <1K
公開 測資點#3 (1%): 1.0s , <1K
公開 測資點#4 (1%): 1.0s , <1K
公開 測資點#5 (1%): 1.0s , <1K
公開 測資點#6 (1%): 1.0s , <1K
公開 測資點#7 (1%): 1.0s , <1K
公開 測資點#8 (1%): 1.0s , <1K
公開 測資點#9 (1%): 1.0s , <1K
公開 測資點#10 (1%): 1.0s , <1K
公開 測資點#11 (1%): 1.0s , <1K
公開 測資點#12 (1%): 1.0s , <1K
公開 測資點#13 (1%): 1.0s , <1K
公開 測資點#14 (1%): 1.0s , <1K
公開 測資點#15 (1%): 1.0s , <1K
公開 測資點#16 (1%): 1.0s , <1K
公開 測資點#17 (1%): 1.0s , <1K
公開 測資點#18 (1%): 1.0s , <1K
公開 測資點#19 (1%): 1.0s , <1K
公開 測資點#20 (1%): 1.0s , <1K
公開 測資點#21 (1%): 1.0s , <1K
公開 測資點#22 (1%): 1.0s , <1K
公開 測資點#23 (1%): 1.0s , <1K
公開 測資點#24 (1%): 1.0s , <1K
公開 測資點#25 (1%): 1.0s , <1K
公開 測資點#26 (1%): 1.0s , <1K
公開 測資點#27 (1%): 1.0s , <1K
公開 測資點#28 (1%): 1.0s , <1K
公開 測資點#29 (1%): 1.0s , <1K
公開 測資點#30 (1%): 1.0s , <1K
公開 測資點#31 (1%): 1.0s , <1K
公開 測資點#32 (1%): 1.0s , <1K
公開 測資點#33 (1%): 1.0s , <1K
公開 測資點#34 (1%): 1.0s , <1K
公開 測資點#35 (1%): 1.0s , <1K
公開 測資點#36 (1%): 1.0s , <1K
公開 測資點#37 (1%): 1.0s , <1K
公開 測資點#38 (1%): 1.0s , <1K
公開 測資點#39 (1%): 1.0s , <1K
公開 測資點#40 (1%): 1.0s , <1K
公開 測資點#41 (1%): 1.0s , <1K
公開 測資點#42 (1%): 1.0s , <1K
公開 測資點#43 (1%): 1.0s , <1K
公開 測資點#44 (1%): 1.0s , <1K
公開 測資點#45 (1%): 1.0s , <1K
公開 測資點#46 (1%): 1.0s , <1K
公開 測資點#47 (1%): 1.0s , <1K
公開 測資點#48 (1%): 1.0s , <1K
公開 測資點#49 (1%): 1.0s , <1K
公開 測資點#50 (1%): 1.0s , <1K
公開 測資點#51 (1%): 1.0s , <1K
公開 測資點#52 (1%): 1.0s , <1K
公開 測資點#53 (1%): 1.0s , <1K
公開 測資點#54 (1%): 1.0s , <1K
公開 測資點#55 (1%): 1.0s , <1K
公開 測資點#56 (1%): 1.0s , <1K
公開 測資點#57 (1%): 1.0s , <1K
公開 測資點#58 (1%): 1.0s , <1K
公開 測資點#59 (1%): 1.0s , <1K
公開 測資點#60 (1%): 1.0s , <1K
公開 測資點#61 (1%): 1.0s , <1K
公開 測資點#62 (1%): 1.0s , <1K
公開 測資點#63 (1%): 1.0s , <1K
公開 測資點#64 (1%): 1.0s , <1K
公開 測資點#65 (1%): 1.0s , <1K
公開 測資點#66 (1%): 1.0s , <1K
公開 測資點#67 (1%): 1.0s , <1K
公開 測資點#68 (1%): 1.0s , <1K
公開 測資點#69 (1%): 1.0s , <1K
公開 測資點#70 (1%): 1.0s , <1K
公開 測資點#71 (1%): 1.0s , <1K
公開 測資點#72 (1%): 1.0s , <1K
公開 測資點#73 (1%): 1.0s , <1K
公開 測資點#74 (1%): 1.0s , <1K
公開 測資點#75 (1%): 1.0s , <1K
公開 測資點#76 (1%): 1.0s , <1K
公開 測資點#77 (1%): 1.0s , <1K
公開 測資點#78 (1%): 1.0s , <1K
公開 測資點#79 (1%): 1.0s , <1K
公開 測資點#80 (1%): 1.0s , <1K
公開 測資點#81 (1%): 1.0s , <1K
公開 測資點#82 (1%): 1.0s , <1K
公開 測資點#83 (1%): 1.0s , <1K
公開 測資點#84 (1%): 1.0s , <1K
公開 測資點#85 (1%): 1.0s , <1K
公開 測資點#86 (1%): 1.0s , <1K
公開 測資點#87 (1%): 1.0s , <1K
公開 測資點#88 (1%): 1.0s , <1K
公開 測資點#89 (1%): 1.0s , <1K
公開 測資點#90 (1%): 1.0s , <1K
公開 測資點#91 (1%): 1.0s , <1K
公開 測資點#92 (1%): 1.0s , <1K
公開 測資點#93 (1%): 1.0s , <1K
公開 測資點#94 (2%): 1.0s , <1K
公開 測資點#95 (2%): 1.0s , <1K
公開 測資點#96 (2%): 1.0s , <1K
提示 :
標籤:
2022國中組初賽
出處:
NPSC [管理者:
zero (管理員)
]


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