CF1270A.Card Game

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Card Game

题目描述

两位玩家决定玩一个有趣的纸牌游戏。

有一副共 nn 张牌的牌堆,牌面数值从 11nn。每张牌的数值都不相同(即没有两张不同的牌有相同的数值)。游戏开始时,所有牌被完全分配给两位玩家,每位玩家至少有一张牌。

游戏规则如下:每一回合,每位玩家从自己手中的牌中任选一张(可以任意选择),然后将牌面朝下放在桌上,另一位玩家看不到他选择了哪张牌。之后,两张牌同时翻开,数值较大的那位玩家获得这两张牌,并将它们加入自己的手牌。注意,由于所有牌的数值都不同,所以每次比较都会有一张牌严格大于另一张。每张牌可以被重复使用任意次数。如果某位玩家手中没有牌,则他输掉比赛。

例如,假设 n=5n=5,第一位玩家手中有数值为 2233 的牌,第二位玩家手中有数值为 114455 的牌。游戏可能的流程如下:

  • 第一位玩家选择 33,第二位玩家选择 11。由于 3>13>1,第一位玩家获得这两张牌。此时第一位玩家手中有 112233,第二位玩家手中有 4455
  • 第一位玩家选择 33,第二位玩家选择 44。由于 3<43<4,第二位玩家获得这两张牌。此时第一位玩家手中有 1122,第二位玩家手中有 334455
  • 第一位玩家选择 11,第二位玩家选择 33。由于 1<31<3,第二位玩家获得这两张牌。此时第一位玩家只剩下 22,第二位玩家手中有 11334455
  • 第一位玩家选择 22,第二位玩家选择 44。由于 2<42<4,第二位玩家获得这两张牌。此时第一位玩家没有牌,输掉比赛。因此,第二位玩家获胜。

如果两位玩家都采取最优策略,谁会获胜?可以证明,总有一位玩家拥有必胜策略。

输入格式

每个测试点包含多组测试用例。第一行包含测试用例数量 tt1t1001 \le t \le 100)。接下来是每组测试用例的描述。

每组测试用例的第一行包含三个整数 nnk1k_1k2k_2($2 \le n \le 100, 1 \le k_1 \le n-1, 1 \le k_2 \le n-1, k_1 + k_2 = n$),分别表示牌的总数、第一位玩家和第二位玩家拥有的牌数。

第二行包含 k1k_1 个整数 a1,,ak1a_1, \dots, a_{k_1}1ain1 \le a_i \le n),表示第一位玩家手中的牌面数值。

第三行包含 k2k_2 个整数 b1,,bk2b_1, \dots, b_{k_2}1bin1 \le b_i \le n),表示第二位玩家手中的牌面数值。

保证所有牌的数值各不相同。

输出格式

对于每组测试用例,若第一位玩家能获胜,输出一行 "YES";否则输出一行 "NO"。可以使用任意大小写字母。

说明/提示

在样例的第一个测试用例中,每位玩家只有一种出牌方式:第一位玩家出 22,第二位玩家出 112>12>1,因此第一位玩家获得两张牌并获胜。

在样例的第二个测试用例中,可以证明第二位玩家拥有必胜策略。题面中给出了可能的游戏流程。

由 ChatGPT 4.1 翻译

样例

2
2 1 1
2
1
5 2 3
2 3
1 4 5
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验