從集合 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。
13 12345AABD CD33 123AA78 8AAABBB 1234GGG 2333BBB 4445666 68CCCDD 2223456 35AABBB 0800449 1222223 2333345
-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
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |