QOJ.ac

QOJ

時間限制: 8 s 記憶體限制: 256 MB 總分: 100

#4858. 扑克游戏:决策

统计

Alice 和 Bob 发明了一种基于德州扑克的新游戏。请仔细阅读以下规则,因为它们与通常的规则不同。本题的背景与 E 题完全相同。

共有 13 个点数,从高到低依次为 A, K, Q, J, T, 9, 8, 7, 6, 5, 4, 3, 2。共有 4 种花色,分别为 S, H, C 和 D。每种点数和花色的组合恰好出现一次,因此共有 $52 (= 13 \times 4)$ 张牌。

一手牌由五张牌组成。每手牌都有一个牌型。共有 10 种牌型。每种牌型也有一个等级。如果两手牌的牌型不同,则牌型等级较高的那手牌更大。一手牌可以用序列 $(r_1, r_2, r_3, r_4, r_5)$ 表示,其中 $r_i$ 是第 $i$ 张牌的点数,五张牌的顺序取决于牌型。如果两手牌的牌型相同,则字典序较大的序列所代表的牌更大:形式上,如果我们找到最小的索引 $i$ 使得两手牌的 $r_i$ 不同,则 $r_i$ 较大的那手牌更大。如果两手牌的牌型和序列 $r$ 都相同,则两手牌平局。

以下是 10 种牌型,按等级从低到高排列。如果一手牌符合多种牌型的模式,则它属于等级最高的那种。

  • 高牌 (Highcard):任意五张牌。序列 $r$ 满足 $r_1 > r_2 > r_3 > r_4 > r_5$。
  • 对子 (Pair):两张点数相同的牌。序列 $r$ 满足 $r_1 = r_2, r_3 > r_4 > r_5$。
  • 两对 (Two pairs):两张点数相同的牌和另外两张点数相同的牌。序列 $r$ 满足 $r_1 = r_2 > r_3 = r_4$。
  • 三条 (Three of a kind):三张点数相同的牌。序列 $r$ 满足 $r_1 = r_2 = r_3, r_4 > r_5$。
  • 顺子 (Straight):五张点数连续的牌。序列 $r$ 满足 $r_1 > r_2 > r_3 > r_4 > r_5$。此外,A 2 3 4 5 也是顺子,在这种情况下 A 被视为比 2 小的点数。因此 A 2 3 4 5 是点数最小的顺子。
  • 同花 (Flush):五张花色相同的牌。序列 $r$ 满足 $r_1 > r_2 > r_3 > r_4 > r_5$。
  • 葫芦 (Full house):三张点数相同的牌和另外两张点数相同的牌。序列 $r$ 满足 $r_1 = r_2 = r_3, r_4 = r_5$。
  • 四条 (Four of a kind):四张点数相同的牌。序列 $r$ 满足 $r_1 = r_2 = r_3 = r_4$。
  • 同花顺 (Straight flush):花色相同的顺子。序列 $r$ 满足 $r_1 > r_2 > r_3 > r_4 > r_5$。此外,花色相同的 A 2 3 4 5 也是同花顺,在这种情况下 A 被视为比 2 小的点数。因此花色相同的 A 2 3 4 5 是点数最小的同花顺。
  • 皇家同花顺 (Royal flush):点数为 T, J, Q, K, A 的同花顺。四种不同花色的皇家同花顺等级相同。

Alice 和 Bob 每人发两张牌。与常规规则不同,这里会发出 6 张公共牌。两名玩家轮流从公共牌中取牌,直到每人都有五张牌,组成一手牌。Alice 先取。拥有牌型等级更高的玩家获胜。如果两手牌等级相同,则为平局。注意,所有十张牌对双方都是可见的,且他们总是选择最优策略。

以上规则与 E 题相同。本题的任务如下:

给定 Alice 的牌、Bob 的牌以及 6 张公共牌,找出获胜者。

输入格式

输入包含多个测试用例。第一行包含一个整数 $T$ ($1 \le T \le 10^5$),表示测试用例的数量。对于每个测试用例:

第一行包含两个字符串 $a_1$ 和 $a_2$:Alice 的初始牌。 第二行包含两个字符串 $b_1$ 和 $b_2$:Bob 的初始牌。 第三行包含六个字符串 $c_1, c_2, c_3, c_4, c_5$ 和 $c_6$:公共牌。

每个字符串长度为 2。第一个字符是 “A”, “K”, “Q”, “J”, “T”, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2” 之一,代表牌的点数。第二个字符是 “S”, “H”, “C”, “D” 之一,代表牌的花色。

保证所有 10 张给定的牌互不相同。

输出格式

对于每个测试用例: 如果 Alice 获胜,输出 “Alice”;如果 Bob 获胜,输出 “Bob”;如果平局,输出 “Draw”。

样例

输入 1

9
JC 4H
TS 5D
JS JH JD 4S 4C 4D
JC 4H
TS 5D
TH TC TD 5S 5H 5C
JC 4H
TS 5D
4S JS 5S TH TC TD
7C 3C
7H TH
3S 3H 3D 2C 4H 5S
7C 3C
7H TH
2H 4H 5H 6H 8H 9H
7C 3C
7H TH
TS 3S 2S 2H 4C 4D
2D KH
4D JC
2S 2H 2C KS KC KD
2D KH
4D JC
4S 4H 4C JS JH JD
2D KH
4D JC
2S KS 4S JS JH JD

输出 1

Alice
Bob
Draw
Alice
Bob
Draw
Alice
Bob
Draw

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.