CF1798B Three Sevens
题目描述
彩票“三个七”持续举办了 $m$ 天。在第 $i$ 天,有 $n_i$ 个编号为 $a_{i,1}, \ldots, a_{i,n_i}$ 的人参与了抽奖。
已知在每一天(共 $m$ 天)中,只有一名中奖者会从当天的参与者中被选出。第 $i$ 天的中奖者在接下来的第 $i+1$ 天到第 $m$ 天中不允许再参与抽奖。
不幸的是,关于中奖者的信息已经丢失。你需要找出从第 $1$ 天到第 $m$ 天可能的中奖者名单,或者判断是否不存在这样的方案。
输入格式
每个测试点包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 50000$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $m$($1 \le m \le 50000$),表示彩票举办的天数。
接下来,对于每个 $i$ 从 $1$ 到 $m$,有如下两行数据组成一个数据块:
第一行包含一个整数 $n_i$($1 \le n_i \le 50000$),表示第 $i$ 天参与抽奖的人数。
第二行包含 $a_{i,1}, \ldots, a_{i,n_i}$($1 \le a_{i,j} \le 50000$),表示第 $i$ 天参与抽奖的人的编号。保证所有 $a_{i,1}, \ldots, a_{i,n_i}$ 互不相同。
保证所有测试用例中所有 $n_i$ 的总和不超过 $50000$。
输出格式
对于每个测试用例,如果不存在方案,输出一个整数 $-1$。
否则,输出 $m$ 个整数 $p_1, p_2, \ldots, p_m$($1 \le p_i \le 50000$),表示从第 $1$ 天到第 $m$ 天的中奖者编号。如果有多种方案,输出任意一种均可。
说明/提示
在第一个测试用例中,其中一个答案是 $[8, 2, 1]$,因为编号为 $8$ 的参与者只在第 $1$ 天参与,未在第 $2$ 天和第 $3$ 天参与;编号为 $2$ 的参与者只在第 $2$ 天参与,未在第 $3$ 天参与;编号为 $1$ 的参与者只在第 $3$ 天参与。注意这不是唯一的答案,例如 $[8, 9, 4]$ 也是正确答案。
在第二个测试用例中,两个参与者在两天都参与了抽奖,因此第 $1$ 天的任何中奖者在第 $2$ 天也会参与,这不被允许。因此不存在正确答案。
在第三个测试用例中,第 $2$、$3$、$4$ 天只有一个参与者,第 $1$ 天只有一个参与者没有在第 $2, 3, 4$ 天参与——编号为 $2$ 的参与者,因此 $[2, 1, 4, 3]$ 是该测试用例唯一正确答案。
由 ChatGPT 4.1 翻译