#P2024. Know When to Hold 'em
Know When to Hold 'em
描述
扑克使用标准牌组(不含鬼牌)。每张牌有点数和花色。点数按升序排列为:A、2、3、4、5、6、7、8、9、T(10)、J(Jack)、Q(Queen)、K(King)、A(A可作为最大或最小点数,但不能同时使用)。花色按升序排列(仅用于显示,不影响牌型比较)为:梅花(c)、方块(d)、红桃(h)、黑桃(s)。一副牌共有13 × 4 = 52张。
扑克手牌由五张牌组成。可能的牌型从强到弱如下(示例用粗体标出):
- 皇家同花顺:A、K、Q、J、10,同花色。例:Ad Kd Qd Jd Td
- 同花顺:五张点数连续的同花色牌(A可作最大或最小)。若有多组同花顺,点数最高者胜。例:Ah 5h 4h 3h 2h
- 四条:四张同点数牌。若多条四条,点数高者胜;若相同,则比较剩余单牌。例:Kc 8s 8h 8d 8c
- 葫芦:三张同点数加一对。比较时先看三张的点数,若相同再比一对。例:Ts Th 3s 3h 3d
- 同花:五张同花色牌。从最高点开始逐张比较。例:Kc 9c 8c 5c 2c
- 顺子:五张点数连续牌(花色不限)。A可作最大或最小。点数最高者胜。例:9s 8h 7h 6c 5d
- 三条:三张同点数牌。点数高者胜;若相同,比较剩余单牌。例:Ks 8h 6h 6d 6c
德州扑克是近年因电视转播而流行的变种。每位玩家发两张暗牌(“底牌”),五张公共牌(“台面”)亮于桌面。玩家需用任意组合的底牌和台面牌组成最佳五张牌。掌握推测对手可能的最佳牌型是关键——若对手无法组成更强牌型,玩家可大胆加注。
输入
首行为整数n表示测试用例数。
每用例为七个两字符字符串(空格分隔),前五张为台面牌,后两张为玩家底牌(无序)。
字符1:点数(A,2,...,T,J,Q,K);字符2:花色(c,d,h,s)。
输出
每行输出对手可能的最佳五张牌。若存在多花色平局,用''表示花色。
牌按点数降序(A始终视为最大)和花色序(''排最后)排列,后接牌型名称(全大写)。
输入数据
9
9c As 3h 8d 2s Jh Ah
6s 5h 5d 4s 4h 5s 5c
Qc 3d Qd Qh 3h 3c Qs
Ah 2c 8d 6h Js 2d As
8c 3d 2c Ad Tc Kc 4d
As Js Kc Tc Qs 9s 8s
2d Kd Ad 6h 3d As Ac
Qc Qh As Qd Qs Ah Ac
2d 5h 8s Jh Kd Ks As
输出数据
As 5* 4* 3h 2s STRAIGHT
6s 4s 4h 4d 4c FOUR OF A KIND
A* A* Qh Qd Qc FULL HOUSE
Ah Ad Ac Js 8d THREE OF A KIND
Ac Qc Tc 8c 2c FLUSH
As Ks Qs Js Ts ROYAL FLUSH
Ad 5d 4d 3d 2d STRAIGHT FLUSH
A* Qs Qh Qd Qc FOUR OF A KIND
Kh Kd Kc Jh 8s THREE OF A KIND