22. 梭哈比大小
1.由N(2<=N<=5,N為整數)個玩家依序輪流拿牌。
2.每人拿五張,結果依牌型由大到小輸出玩家名稱和其牌型編號,若牌型相同,依據輸入順序輸出。
3.每張牌由牌面與花色組成,牌面與花色的表示如下:
牌面: A、2~10、J、Q、K
花色:S (Spade,黑桃),H (Heart,紅心),D (Diamond,方塊), C (Club,梅花)
例如:7S 表示黑桃7
4.牌型編號(編號越大代表牌型越大):
(1) High Card : 單一張牌。
(2) One pair: 兩張牌數字一樣
(3) Two pairs : 兩組 Pair 的牌。
(4) Three of a kind : 三張牌數字一樣。
(5) Straight : 數字連續的五張牌,頭尾相接亦視為Straight。例如[2, 3, 4, 5, 6],..,[Q,K , A, 2, 3], [K , A, 2, 3, 4], [A, 2, 3, 4, 5]。
(6) Flush : 五張同一花色的牌
(7) Full House : Three of a Kind 加一個 Pair
(8) Four of a kind: : 四張牌數字一樣
(9) Straight flush : 數字連續的五張牌且花色一樣
【輸入說明】
第1行,輸入整數N(2<=N<=5)
第2~1 +N行 輸入一字串,包含英文姓名和五張牌,中間以空格格開
範例輸入說明:
2(N=2,玩家人數為整數2)
Allen 3H 4H 5H 6H 7H(玩家Allen 紅心3 紅心4 紅心5 紅心 6 紅心7)
Kate 9H 9D 9C 2S AS(玩家Kate 紅心9 方塊9 梅花9 黑桃2 黑桃A)
【輸出說明】
若所有牌不重複且輸入正確(參考 測試資料一)
則依牌型由大到小輸出玩家名稱和其牌型編號,中間以空格隔開。若牌型相同,依據玩家輸入順序輸出。
第一行 牌型最大的玩家姓名+” ”+玩家牌型編號
第二行 牌型第二大的玩家姓名+” ”+玩家牌型編號
第N行 牌型最小的玩家姓名+” ”+玩家牌型編號
範例輸出說明:
Allen 9 (玩家Allen 對應牌型為編號9的Straight flush)
Kate 4 (玩家Kate 對應牌型為編號4的Three of a kind)
【特別要求】
1.如果一副牌中有不合法的輸入,像是不存在的牌面、花色,則輸出 "Error input"(參考 測試資料二)
2. 如果一副牌中有重複的牌出現,即一副牌當中有兩張以上牌面跟花色一模一樣,則輸出"Duplicate deal"(參考 測試資料三)
3. 如果"Error input"和"Duplicate deal"同時發生,則輸出"Error input"(參考 測試資料四)
【測試資料一】
輸入:
4
Gery 6D 7C 7S 3H 10S
Mandy 4H 4D 4C 2D 4S
Tommy QH KD AC 5D 3S
Nina 10D 8C 8S 8H 10H
輸出:
Mandy 8
Nina 7
Gery 2
Tommy 1
【測試資料二】
輸入:
3
Ray 5H AS 9C QC 3DD
Kate JC KH 9D 6H 9S
Peter 4C 5D 2S 9D 2C
輸出:
Error input
【測試資料三】
輸入:
4
Kevin AD 2C 3C 4D 4D
Tom 7S 8S 9S 9C 6S
Andy QH 8D KH 4H JH
Joe AS 2S 3C 4S 5S
輸出:
Duplicate deal
【測試資料四】
輸入:
2
Tony 6H KC 5C 3D MZ
Maze 5H 5D 5C 6C 5S
輸出:
Error input
【隱藏測試資料一】
輸入:
4
Ada JH QH KH AH 2H
Bob 3S 3H 3D 5H 6H
Kelly 7S 7H 7C 8D 8C
John 10S 8S QS 2C KC
輸出:
Ada 9
Kelly 7
Bob 4
John 1
【隱藏測試資料二】
輸入:
3
Ivan 3C 3D 5S 3S 3H
May 8D 8C 8S KH 7C
Lion 5H AC 5C 4D AD
輸出:
Ivan 8
May 4
Lion 3
【隱藏測試資料三】
輸入:
3
Cindy 8D AC 8S KH 7C
Linda 5H KC 5C 3D 1D
Gery 3C 3D 5S 3S 3H
輸出:
Error input
【隱藏測試資料四】
輸入:
3
Amy 2C 3C 4C 5C 6C
Tina 6H 6D 6C 7C 6S
Joe AD 8D 8S 8H 7C
輸出:
Duplicate deal
【隱藏測試資料五】
輸入:
4
Tony 8H LC 5D 3D 2D
Zoe 9D 8C 8S 9H 7C
Vivi AC 8S 6H 6D 6C
Maze 2D 5C 5S 6S 7S
輸出:
Error input