QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#7061. 扑克牌游戏

Statistics

有五名亡命之徒正在进行一场扑克游戏。

热门荷官 Myla 组织了一场 $n$ 轮的比赛。比赛开始前,每位玩家拥有 100 个筹码(pots),对应一定数量的钱。身无分文的玩家(筹码为零)将被淘汰,且不允许继续参赛。

和大多数扑克游戏一样,牌堆是标准的 52 张牌,不含大小王。Myla 没有公平洗牌,而是提前决定了牌的顺序。

游戏现在开始。

在每一轮中,游戏开始时每位玩家会被发两张底牌(hole cards),牌面朝下。第一位未被淘汰的玩家获得第 1 张和第 2 张牌,第二位未被淘汰的玩家获得第 3 张和第 4 张牌,以此类推。这些牌即为玩家的“底牌”。

牌局以“翻牌前(pre-flop)”下注轮开始,所有玩家按顺序依次做出决定。每位玩家可以选择“弃牌(fold)”,即退出本轮牌局并放弃;或者“跟注(call)”,即跟注 5 个筹码。

翻牌前下注轮结束后,荷官 Myla 发出翻牌(flop):三张面朝上的公共牌。随后进行第二轮下注。每位玩家可以选择弃牌(损失已投入的筹码),或者跟注(跟注 5 个筹码)。

翻牌下注轮结束后,再发出两张公共牌,随后进行第三轮下注,规则同上。

如果玩家想在最后一轮下注后继续留在牌局中,总共必须跟注 15 个筹码。但有一个例外:如果玩家在翻牌前下注轮之前拥有的筹码少于 15 个,则不允许参加翻牌前下注,除非他在翻牌前下注轮中宣布“全押(all in)”,押上他所有的筹码。如果玩家全押,他无需再下注,无论他是否愿意,他都将保留在最后一轮下注之后。

在牌局的任何时候,如果只剩下一名玩家且其他所有玩家都已弃牌,则剩余的玩家赢得底池,且无需展示他的底牌。如果最后一轮下注后有两名或更多玩家留存,则进行摊牌(showdown)。在摊牌时,每位玩家使用他们的两张底牌和五张公共牌,共七张牌中最好的五张组成牌型。

拥有最好牌型的玩家赢得所有下注轮中跟注的筹码。如果最好牌型由多名玩家共有,则最后顺序的那位玩家赢得所有筹码。

以下列表按递增顺序显示了可能的牌型价值:

  • 高牌(Highcard):牌的简单数值。
  • 对子(Pair):两张数值相同的牌。
  • 三条(Three of a kind):三张数值相同的牌。
  • 顺子(Straight):5 张数值连续的牌,其中 A 只能作为第一张牌排在 2 之前,或作为最后一张牌排在 K 之后。所有可能的顺子如下:A2345, 23456, 34567, 45678, 56789, 6789T, 789TJ, 89TJQ, 9TJQK 和 TJQKA。注意 T 是 10 的缩写。
  • 同花(Flush):5 张花色相同的牌。

牌的数值大小也很重要。牌的数值从大到小依次为 A K Q J T 9 8 7 6 5 4 3 2(A 仅在顺子 A2345 中作为最小牌)。

如果多名玩家拥有相同的牌型价值,则关键牌(critical card)的数值越大,牌型越好。对于高牌,关键牌是数值最高的那张。对于对子,关键牌是组成对子的牌中数值最高的那张。如果牌型是三条,则三张相同的牌是关键牌。顺子或同花中的最高牌是关键牌,但请注意,在顺子 A2345 中 5 是关键牌,而在顺子 TJQKA 中 A 是关键牌。请注意这种情况,并注意如果 A2345 中的牌花色相同,则应视为同花或所谓的同花顺,此时的关键牌是 A。

现在谈谈这些亡命之徒。他们都是专业的 ICPC 选手,都知道如何设计好的策略。

第一位是 John-zeng Montagu。如果他的筹码少于 15,他一开始就弃牌。他仅在底牌花色相同时才在翻牌前下注轮跟注。他总是会在翻牌下注轮跟注,并且如果他能组成的最好牌型不差于对子,他会在第三轮下注中跟注。

第二位是 Brain-chen Molony。在翻牌前下注轮,如果他至少有 15 个筹码或者他的底牌是双 A,他会跟注甚至全押。如果给定的 5 张牌不差于对子,或者他能通过再发一张理想的牌组成顺子或同花,他会在翻牌下注轮跟注。他会在第三轮下注中跟注,除非有至少四张公共牌花色相同。

第三位是 Wild-tang-Bill Hickok。如果他持有一张 A 或者他底牌的数值差小于 3,他会在翻牌前下注轮跟注或全押。在翻牌下注轮,当两张公共牌数值相同但他的底牌中没有该数值时,他会弃牌。他总是会在第三轮下注中跟注。

第四位是 Kerry-wu Packer。如果他持有一张数值高于 J(包括 A)的牌,他会在翻牌前下注轮跟注或全押。如果他持有一张高于所有公共牌的牌,或者他能将一张底牌与最高的公共牌组成对子,他会在翻牌下注轮跟注。在第三轮下注中,如果最好牌型不差于三条,或者至少是对子且该对子的数值高于第三高的公共牌(计入重数),他会跟注。

最后一位是 Archie-zou Karas。在翻牌前下注轮,仅当只有另一名玩家跟注时,他才会跟注或全押。之后他总是会在第二轮和第三轮跟注。

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 1000$),表示组织的比赛总轮数。 接下来的 $n$ 行,每行包含 15 个整数,按顺序描述了荷官 Myla 发出的所有牌。注意,由于某些玩家可能被淘汰,荷官发出的牌可能少于 15 张。数字 1 到 13、14 到 26、27 到 39 和 40 到 52 分别对应不同花色的 A、2 到 10、J、Q 和 K。

输出格式

输出五行,每行包含一个数字,表示对应玩家的最终筹码数。

样例

输入 1

2
1 2 8 10 3 11 15 12 14 27 42 43 45 48 13
14 2 8 10 3 11 5 23 1 27 42 43 13 45 48

输出 1

90
90
100
115
105

输入 2

5
9 5 19 35 30 42 18 8 21 51 16 26 32 29 49
17 50 13 7 37 21 25 31 28 18 30 27 24 16 15
31 38 52 46 1 29 41 12 39 24 10 45 13 22 42
8 10 33 18 39 49 29 43 51 2 35 19 27 41 12
48 13 33 39 30 47 32 24 12 9 42 1 18 41 51

输出 2

65
115
115
100
105

输入 3

5
51 31 17 50 24 15 25 20 22 16 44 6 19 39 28
34 1 21 10 31 15 35 8 27 51 32 23 48 24 29
39 18 27 14 31 2 35 51 44 21 24 6 43 16 19
9 44 4 19 35 47 15 51 25 20 40 8 21 6 7
49 35 11 12 44 29 22 9 16 13 4 17 32 25 7

输出 3

100
125
115
75
85

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.