P16512 [GKS 2015 #C] gGames

题目描述

精灵国计划举办一场淘汰赛,共有 $2^N$ 名精灵想要参加。比赛开始时,他们会被分配从 $1$ 到 $2^N$ 的唯一 ID 编号,并由精灵总统将他们排成某一列。 比赛由多场两名精灵之间的对决组成,每场比赛都会决出一名胜者和一名败者(没有平局)。在第一轮中,队列中第一名精灵与第二名精灵对决,第三名与第四名对决,以此类推。第一轮结束后,输掉的 $2^{N-1}$ 名精灵离开队列,获胜的 $2^{N-1}$ 名精灵留在原位。然后,剩下的精灵以同样的方式进行第二轮:队列中剩下的第一名精灵与第二名对决,第三名与第四名对决,以此类推。经过 $N$ 轮之后,将只剩下一名精灵,该精灵即为冠军。 其中 $M$ 名精灵是敏感的,这意味着如果他们必须在最初的 $K_i$ 轮中与自己的朋友对决,他们就会非常难过。(注意,朋友关系不一定是相互的:如果一名精灵认为另一名精灵是朋友,另一名精灵不一定也认为这名精灵是朋友。) 精灵总统想知道:是否存在一种指定所有 $2^N$ 名精灵初始位置的方式,能够保证无论比赛过程中发生什么,都不会有精灵难过?

输入格式

输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含一行,给出两个整数 $N$ 和 $M$,接着是 $M$ 组信息,每组包含两行,其中第一行包含一名精灵的整数 $E_i$、$K_i$ 和 $B_i$,第二行包含该精灵的 $B_i$ 个朋友的 ID 编号(整数)。

输出格式

对于每个测试用例,输出一行内容为 "Case #x: ",其中 x 是测试用例编号(从 1 开始),后面跟着 YES 或 NO。

说明/提示

### 限制 $1 \le T \le 200$。 $0 \le M \le 2^N$。 $1 \le E_i \le 2^N$。 $1 \le K_i \le N$。 $M \le \text{sum}(B_i) \le \min(2 \times M, 2^N)$。 **小数据集(测试集 1 - 可见)** $1 \le N \le 3$。 **大数据集(测试集 2 - 隐藏)** $N = 4$。 翻译由 DeepSeek V4 Pro 完成