牌组
在标准的 52 张扑克牌中,每张牌都有一个点数(rank)和一个花色(suit)。十三种可能的点数,按从弱到强排列依次为:2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King 和 Ace。我们将后五种简写为 T, J, Q, K 和 A。四种花色为梅花(clubs)、方块(diamonds)、红桃(hearts)和黑桃(spades),简写为 C, D, H, S。一张牌由其点数后跟花色表示,因此牌组中的 52 张牌为:
| 2C | 3C | 4C | 5C | 6C | 7C | 8C | 9C | TC | JC | QC | KC | AC |
| 2D | 3D | 4D | 5D | 6D | 7D | 8D | 9D | TD | JD | QD | KD | AD |
| 2H | 3H | 4H | 5H | 6H | 7H | 8H | 9H | TH | JH | QH | KH | AH |
| 2S | 3S | 4S | 5S | 6S | 7S | 8S | 9S | TS | JS | QS | KS | AS |
五张牌牌型
在“明牌中国扑克”(Open Face Chinese Poker)游戏中,由五张牌组成的牌型按从强到弱排列如下。如果一组牌符合多种牌型的定义,则取最强的一种。例如,7H 8H 9H TH JH 同时符合同花顺、同花、顺子和高牌的定义,但它被视为同花顺。
- 皇家同花顺(Royal Flush):同花色的 T, J, Q, K, A。示例:TD JD QD KD AD。
- 同花顺(Straight Flush):五张同花色的连续牌。(在同花顺中,A 可视为 1,即比 2 小的牌。)示例:7H 8H 9H TH JH;AC 2C 3C 4C 5C。
- 四条(Four of a Kind):四张同点数的牌,外加任意一张其他牌。示例:8C 8D 8H 8S JD。
- 葫芦(Full House):三张同点数的牌和两张另一种点数的牌。示例:3C 3H 3S 5C 5D。
- 同花(Flush):五张同花色的牌。示例:4D 7D 8D QD KD。
- 顺子(Straight):五张点数连续的牌。(在顺子中,A 是特殊牌,可视为 A(比 K 大)或 1(比 2 小)。)示例:6C 7D 8C 9H TH。
- 三条(Three of a Kind):三张同点数的牌,外加两张其他不同的牌。示例:JC JH JS 2H KH。
- 两对(Two Pair):两张同点数的牌和另外两张同点数的牌,外加一张其他不同的牌。示例:8C 8H AC AD TH。
- 一对(Pair):两张同点数的牌,外加三张其他不同的牌。示例:9H 9S 3D 4D QS。
- 高牌(High Card):不符合上述任何牌型的牌组。示例:3S 5C 6C 7C TS。
三张牌牌型
由三张牌组成的牌型按从强到弱排列如下:
- 三条(Three of a Kind):三张同点数的牌。示例:TD TH TS。
- 一对(Pair):两张同点数的牌。示例:5C 5S 8H。
- 高牌(High Card):不符合上述任何牌型的牌组。示例:JC QC KC。
注意:三张牌的牌型不能构成同花顺、同花或顺子,即使这三张牌花色相同或点数连续。
牌型比较
比较两手牌时,牌型更强的一方获胜。如果牌型相同,则必须使用平局决胜规则。
- 两个“皇家同花顺”:平局。
- 两个“同花顺”:仅看连续序列中的最后一张牌。点数最高者获胜。如果最高点数相同,则平局。注意,这意味着 23456 同花顺胜过 A2345 同花顺,因为此处 A 被视为 1。
- 两个“四条”:组成四条的点数较高者获胜。
- 两个“葫芦”:比较牌中的三条部分。组成三条的点数较高者获胜。
- 两个“同花”:将每手牌按点数排序。比较点数最高的牌;如果一手牌的点数最高牌胜过另一手,则该手牌获胜。如果平局,则比较次高牌,依此类推。如果五张牌全部相同,则平局。
- 两个“顺子”:仅看连续序列中的最后一张牌。点数最高者获胜。如果最高点数相同,则平局。
- 两个“三条”:组成三条的点数较高者获胜。
- 两个“两对”:先比较每手牌中点数最高的一对,然后比较点数较低的一对,再比较剩余的牌,若仍相同则平局。
- 两个“一对”:先比较对子的点数,然后比较剩余牌中点数最高者,再比较次高者,最后比较剩余牌,若仍相同则平局。当比较五张牌的“一对”和三张牌的“一对”时,如果对子和最高剩余牌相同,则五张牌的牌型获胜。
- 两个“高牌”:将每手牌按点数排序,然后比较点数最高的牌,再比较次高者,依此类推。当比较五张牌的“高牌”和三张牌的“高牌”时,如果三张最高点数的牌相同,则五张牌的牌型获胜。
明牌中国扑克
在我们变种的明牌中国扑克中,玩家从牌组中获得十四张不同的牌。玩家必须弃掉一张牌,然后将剩余的十三张牌重新排列为一手三张牌的前墩(front hand)、一手五张牌的中墩(middle hand)和一手五张牌的后墩(back hand)。中墩必须大于或等于前墩,后墩必须大于或等于中墩。
玩家根据前、中、后墩分别获得分数。如果某种牌型不符合任何计分选项,则该墩得 0 分。玩家的总分为三墩得分之和。
前墩计分
一对: | 66 | 77 | 88 | 99 | TT | JJ | QQ | KK | AA | |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
三条: | 222 | 333 | 444 | 555 | 666 | 777 | 888 | 999 | TTT | JJJ | QQQ | KKK | AAA | |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
中墩计分
| 三条 | 顺子 | 同花 | 葫芦 | 四条 | 同花顺 | 皇家同花顺 |
|---|---|---|---|---|---|---|
| 2 | 4 | 8 | 12 | 20 | 30 | 50 |
(除三条外,这些分值是后墩计分的两倍。)
后墩计分
| 顺子 | 同花 | 葫芦 | 四条 | 同花顺 | 皇家同花顺 |
|---|---|---|---|---|---|
| 2 | 4 | 6 | 10 | 15 | 25 |
这些分值不决定哪手牌胜过哪手牌,它们仅用于计算玩家的最终得分。
输入格式
第一行包含一个整数 $T$,表示测试用例的数量。接下来有 $T$ 行。 每行包含 14 个以空格分隔的牌描述。每张牌由两个字符表示。第一个字符是点数,第二个字符是花色,如上文“牌组”部分所述。
输出格式
对于每个测试用例,输出一行“Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是你能获得的最大分数。
数据范围
- $1 \le T \le 100$。
- 每个用例中的所有牌均不相同。
样例
输入 1
1 9C 9D 9S 9H TS TH JS JH QS QH KS KH AS AH
输出 1
Case #1: 92
说明
最大得分的牌组如下: 前墩:9C 9D 9S 中墩:TS JS QS KS AS 后墩:TH JH QH KH AH 前墩得 17 分,中墩得 50 分,后墩得 25 分,总计 92 分。