P10826 [EC Final 2020] Allin

题目描述

$\textbf{德州扑克}$(也称为 $\textbf{Texas holdem}$、$\textbf{hold 'em}$ 和 $\textbf{holdem}$)是扑克游戏中最流行的变体之一。$\textbf{请阅读以下规则,因为它们可能与常规规则不同。}$ $\textbf{两}$张牌,称为$\textbf{底牌}$,面朝下发给每位玩家。每位玩家只知道自己的底牌。然后$\textbf{五张公共牌}$分三个阶段面朝上发出。阶段包括三张牌(“翻牌”),然后是一张额外的牌(“转牌”或“第四街”),最后一张牌(“河牌”或“第五街”)。所有玩家都知道已经发出的面朝上的牌。所有牌都从标准的 52 张牌的牌堆中抽取。标准的 52 张牌的牌堆包含四种法式花色中的每一种的 $13$ 个等级:梅花 ($\clubsuit$)、方块 ($\diamondsuit$)、红桃 ($\heartsuit$) 和黑桃 ($\spadesuit$)。每种花色包括一张 A(A)、一张 K(K)、Q(Q)和 J(J),每张牌旁边都有其花色的符号;以及从 2(Two)到 10 的数字牌或点数牌,每张牌显示该花色的多个符号(点数)。$\textbf{任何牌不能被抽取多于一次。}$ ![](https://cdn.luogu.com.cn/upload/image_hosting/otansabp.png) 单张牌的排名如下(从高到低):A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2。$\textbf{每位玩家从七张牌中选择最佳的五张牌组合}$ -- $\textbf{五张公共牌和他的两张底牌}。$ 下表显示了可能的五张牌组合类型,按其值的$\textbf{递增顺序}$排列。每种类型都有特定的五张牌排序,描述如下。$\textbf{以下部分描述了如何比较两手牌}$,$\textbf{这与常规规则相同。}$ - $\textbf{高牌}$:单张牌的简单值。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1>a_2>a_3>a_4>a_5$。($a_i$ 表示第 $i$ 张牌的等级。) ![](https://cdn.luogu.com.cn/upload/image_hosting/4f6fchzz.png) - $\textbf{一对}$:两张牌具有相同的值。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1=a_2$,$a_3>a_4>a_5$,$a_1 e a_3$,$a_1 e a_4$,$a_1 e a_5$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/fakv9qbh.png) - $\textbf{两对}$:两次两张牌具有相同的值。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1=a_2$,$a_3=a_4$,$a_1 > a_3$,$a_1 e a_5$,$a_3 e a_5$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/89uwdv5l.png) - $\textbf{三条}$:三张牌具有相同的值。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1=a_2=a_3$,$a_4 > a_5$,$a_1 e a_4$,$a_1 e a_5$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/lbzmp0in.png) - $\textbf{顺子}$:五张牌按递增值排列。牌的顺序为 $a_1a_2a_3a_4a_5$,使得对所有 $1\le i\le 4$,$a_i$ 恰好比 $a_{i+1}$ 高一等级。$\textbf{特别地,如果}$ $a_5$ $\textbf{是 A,}$ $a_4$ $\textbf{可以是 2。在这种情况下,A 被视为比 2 低一等级。}$ ![](https://cdn.luogu.com.cn/upload/image_hosting/7mu6yjj3.png) - $\textbf{同花}$:五张牌具有相同的花色。牌的顺序为 $a_1a_2a_3a_4a_5$,使得所有五张牌具有相同的花色且 $a_1>a_2>a_3>a_4>a_5$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/rlnqq9fx.png) - $\textbf{葫芦}$:三条和一对的组合。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1=a_2=a_3$,$a_4=a_5$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/99za5m4u.png) - $\textbf{四条}$:四张牌具有相同的值。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1=a_2=a_3=a_4$。 ![](https://cdn.luogu.com.cn/upload/image_hosting/d15acddn.png) - $\textbf{同花顺}$:同花的顺子。牌的顺序为 $a_1a_2a_3a_4a_5$,使得所有五张牌具有相同的花色且对所有 $1\le i\le 4$,$a_i$ 恰好比 $a_{i+1}$ 高一等级。$\textbf{特别地,如果}$ $a_5$ $\textbf{是 A,}$ $a_4$ $\textbf{可以是 2。在这种情况下,A 被视为比 2 低一等级。}$ ![](https://cdn.luogu.com.cn/upload/image_hosting/f7zis4qc.png) - $\textbf{皇家同花顺}$:从 10 到 A 的同花顺。牌的顺序为 $a_1a_2a_3a_4a_5$,使得 $a_1, a_2, a_3, a_4, a_5$ 是同一花色的 A, K, Q, J, 10。 ![](https://cdn.luogu.com.cn/upload/image_hosting/mgyidu8m.png) 要比较两手牌,首先比较两手牌的类型。例如,一手牌是 $\textbf{四条}$,另一手牌是 $\textbf{葫芦}$,$\textbf{四条}$ 总是赢 $\textbf{葫芦}$。 如果两手牌的类型相同,我们比较牌的等级。我们将按上述描述排序牌,并逐一比较。首先比较第一张牌。如果一手牌的第一张牌等级更高,则它获胜。如果两手牌的第一张牌等级相同,则比较第二张牌,依此类推。如果每个位置的牌等级相同,则没有人获胜。牌的花色永远不重要。例如,$\clubsuit$ 5, $\diamondsuit$ 5, $\heartsuit$ 5, $\spadesuit$ 2, $\clubsuit$ 2 可以赢 $\diamondsuit$ 3, $\spadesuit$ 3, $\heartsuit$ 3, $\diamondsuit$ A, $\heartsuit$ A。因为它们都是 $\textbf{葫芦}$,我们将首先比较三张相同牌的等级。 考虑 Alice 的底牌是 $\clubsuit$ A, $\diamondsuit$ 4 和 Bob 的底牌是 $\heartsuit$ 2, $\spadesuit$ 3。公共牌是 $\spadesuit$ A, $\heartsuit$ 4, $\spadesuit$ 5, $\clubsuit$ Q, $\heartsuit$ Q。Alice 的最佳手牌(她的底牌和公共牌中的五张牌)是 $\clubsuit$ A, $\spadesuit$ A, $\clubsuit$ Q, $\heartsuit$ Q, $\spadesuit$ 5,即 $\textbf{两对}$。Bob 的最佳手牌是 $\spadesuit$ 5, $\heartsuit$ 4, $\spadesuit$ 3, $\heartsuit$ 2, $\spadesuit$ A,即 $\textbf{顺子}$。因此,Bob 获胜。 玩家有下注选项可以选择过牌、跟注、加注或弃牌。$\textbf{在这个问题中,我们不关心这些下注的含义。}$ 在翻牌发出之前和每次后续发牌后进行下注回合。到所有下注回合结束时,拥有最佳手牌且未弃牌的玩家赢得所有下注的钱,称为底池。在某些情况下,当两名玩家的手牌等值时,可能会出现“分池”或“平局”。这也称为“平分底池”。$\textbf{在这个问题中,我们假设两名玩家从不弃牌。}$ 因此,从七张牌中任意组合出最佳五张牌的玩家获胜。如果两名玩家的手牌等值,则没有人获胜。 为了简化陈述,我们在此不介绍详细规则。 Daddy Dream 是世界著名的 $\textbf{德州扑克}$ 玩家。作为一个强大的挑战者,Wolf Chicken 想要击败 Daddy Dream。在“翻牌”(三张牌面朝上发出)后,Wolf Chicken 先行动。两名玩家都知道三张面朝上的牌,每位玩家都知道自己的两张底牌。Wolf Chicken 将选择全押当且仅当无论“转牌”、“河牌”(尚未揭示的两张公共牌)和 Daddy Dream 的底牌是什么,他都能肯定获胜。否则,Wolf Chicken 将选择过牌。 给定 Wolf Chicken 的两张底牌和三张翻牌,帮助他确定是否可以全押。

输入格式

第一行包含一个整数 $T$ ($1\le T \le 100000$),表示测试用例的数量。 对于每个测试用例,有一行包含五个字符串 $h_1, h_2, c_1, c_2, c_3$,用单个空格分隔,表示第一张底牌、第二张底牌、第一张公共牌、第二张公共牌和第三张公共牌。 对于每张牌,其对应字符串的第一个字符表示其等级。(可能的等级有 `2` 、`3`、`4`、`5`、`6`、`7`、`8`、`9`、`T`、`J`、`Q`、`K`、`A`。`T` 表示 $10$。)第二个字符表示其花色。`C` 表示梅花。`D` 表示方块。`H` 表示红桃。`S` 表示黑桃。 保证在一个测试用例中,每张牌最多出现一次。

输出格式

对于每个测试用例,输出一行。如果 Wolf Chicken 将肯定获胜,输出 $\texttt{allin}$。否则,输出 $\texttt{check}$。

说明/提示

(由 ChatGPT 4o 翻译)