QOJ.ac

QOJ

حد الوقت: 2.5 s حد الذاكرة: 256 MB مجموع النقاط: 100

#11245. 明牌中国扑克

الإحصائيات

牌组

在标准的 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 分。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.