a062: 七張迷你麻將遊戲
標籤 :
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-10-26 15:55

內容

從集合 S = {1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G}中選出7個字元形成一個長度為7的字串,每個字元最多可被選到4次。

先決定這個字串是否為聽牌狀態(ready),若是,列出每個它所聽的牌(依S集合內的元素排列順序)。

若尚未聽牌或是格式錯誤(字串長度不是7、出現非集合S內的元素、同一張牌出現4次以上等情況),一律輸出-1。聽牌狀態的定義是,只要再加入一張牌就能形成8張的完整牌型(completed pattern),也就是胡牌。

8張的完整牌型指的是:一對(2個相同字元)再加上兩組「3件組合」(triplets)。

對英文字母而言,「3件組合」就是3個相同的字母例如: AAA、 BBB、FFF。對阿拉伯數字而言,「3件組合」除了3個相同的數字(例如 111、222、888)以外,也可以是3個連號的數字,像是123、345、789等等。請注意9與1並不相連,換句話說,912跟891都不算合法的「3件組合」。

 

輸入說明

第一列為一個正整數 n (n≤100),代表字串的個數,接下來為n列測試字串。

 

輸出說明

若該輸入字串格式正確(長度7,由S的元素組成,相同字元不超過4個)且已經聽牌,輸出”Ready for“與該輸入字串聽的所有目標牌(依S集合內的元素排列順序,以空格分開)。否則,輸出-1。

範例輸入 #1
13
12345AABD
CD33
123AA78
8AAABBB
1234GGG
2333BBB
4445666
68CCCDD
2223456
35AABBB
0800449
1222223
2333345
範例輸出 #1
-1
-1
Ready for 6 9
Ready for 8
Ready for 1 4
Ready for 1 2 4
Ready for 3 4 5 6 7
Ready for 7
Ready for 1 3 4 6 7
Ready for 4
-1
-1
Ready for 1 2 4 5
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
出處:
107資訊學科能力台中區 [管理者: ]


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