题库练习 Simons and Posting Blogs
← 上一题 下一题 →

A16864 | Simons and Posting Blogs

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

这人生就像一档电视节目,我们随着剧情推进而被卷动。

—— SHUN,[TRAP](https://open.spotify.com/track/4lfS48CaivAm4QaimqbAPv)

有 $n$ 个博客。第 $i$ 个博客按顺序提及了 $l_i$ 个用户,记为一个数组 $a_i = [a_{i,1},a_{i,2},\ldots,a_{i,l_i}]$。

你将依次发布所有 $n$ 个博客。我们维护一个序列 $Q$,用于描述你最近提及过的用户列表。你需要恰好进行 $n$ 次如下操作:

- 选择一个尚未发布的博客 $i$($1\leq i\leq n$),然后发布它。对于该博客中每个 $1\leq j\leq l_i$,按照顺序进行以下操作:
- 如果 $a_{i,j}$ 已经在 $Q$ 中,則将 $a_{i,j}$ 移动到 $Q$ 的开头。
- 否则,将 $a_{i,j}$ 插入到 $Q$ 的开头。

请你求出,在所有发布顺序中,最终得到的 $Q$ 的字典序最小值$^{\ast}$。

$^{\ast}$ 对于数组 $x$ 和 $y$,如果满足以下条件之一,则称 $x$ 的字典序小于 $y$:
- $x$ 是 $y$ 的前缀,且 $x\ne y$;
- 在第一个不相等的位置,$x$ 的元素小于 $y$ 的对应元素。

输入格式

每个测试用例包含多组数据。第一行包含测试用例个数 $t$($1 \leq t \leq 1000$)。
每组数据第一行是一个整数 $n$($1 \leq n \leq 3000$)——博客数量。
接下来 $n$ 行,第 $i$ 行以一个正整数 $l_i$($1 \leq l_i \leq 3000$)开头,表示第 $i$ 个博客提及的用户数。随后跟着 $l_i$ 个整数 $a_{i,1},a_{i,2},\ldots,a_{i,l_i}$($1\leq a_{i,j} \leq 10^6$),表示该博客中提及的用户列表。

保证所有测试用例的 $n$ 之和不超过 $3000$。记 $\sum\limits_{i=1}^n l_i$ 为 $L$,保证所有测试用例的 $L$ 之和不超过 $3000$。

输出格式

记 $m$ 为所有博客中被提及至少一次的用户数量。对于每个测试用例,输出 $m$ 个整数 $Q_1,Q_2,\ldots,Q_m$,表示字典序最小的 $Q$。

输入输出样例

输入 #1
5
3
5 1 2 3 4 6
3 2 5 1
4 1 9 2 3
2
2 1 6
1 6
1
3 6 1 1
5
4 2 3 3 4
5 1 2 4 3 1
2 4 1
3 3 3 1
5 4 3 2 2 2
5
4 2 3 1 4
5 2 5 5 6 5
5 3 4 7 5 5
8 3 6 4 3 1 1 5 4
2 1 1
输出 #1
1 5 2 3 9 6 4
6 1
1 6
1 3 2 4
1 4 3 2 5 6 7
C++ 编辑器
输入
输出