CF1790C.Premutation

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

Premutation

题目描述

一个长度为 nn 的数列被称为排列,如果它恰好包含 11nn 的所有整数各一次。例如,数列 [3,1,4,2][3, 1, 4, 2][1][1][2,1][2, 1] 是排列,但 [1,2,1][1, 2, 1][0,1][0, 1][1,3,4][1, 3, 4] 不是排列。

Kristina 有一个长度为 nn 的排列 pp。她在白板上写下了 nn 次这个排列,每次写的时候:

  • 在第 ii 次(1in1 \le i \le n)写的时候,她跳过了第 ii 个元素 pip_i

所以,她总共写下了 nn 个长度为 n1n-1 的数列。例如,假设 Kristina 有一个排列 p=[4,2,1,3]p = [4, 2, 1, 3],长度为 44。那么她做了如下操作:

  1. 写下数列 [2,1,3][2, 1, 3],跳过了原排列中的 p1=4p_1=4
  2. 写下数列 [4,1,3][4, 1, 3],跳过了原排列中的 p2=2p_2=2
  3. 写下数列 [4,2,3][4, 2, 3],跳过了原排列中的 p3=1p_3=1
  4. 写下数列 [4,2,1][4, 2, 1],跳过了原排列中的 p4=3p_4=3

你知道白板上写下的所有 nn 个数列,但你不知道它们被写下的顺序。它们以任意顺序给出。请你根据这些数列还原出原始排列。

例如,如果你知道数列 [4,2,1][4, 2, 1][4,2,3][4, 2, 3][2,1,3][2, 1, 3][4,1,3][4, 1, 3],那么原始排列就是 p=[4,2,1,3]p = [4, 2, 1, 3]

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn3n1003 \le n \le 100)。

接下来有 nn 行,每行包含恰好 n1n-1 个整数,描述了白板上写下的一个数列。

保证所有数列都可以由某个排列 pp 得到,并且所有输入集合的 n2n^2 之和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一行,包含一个排列 pp,使得给定的 nn 个数列可以由它得到。

保证答案存在且唯一。换句话说,对于每个测试用例,所需的排列一定存在且只有一个。

说明/提示

第一个测试用例在题目描述中已经给出。

在第二个测试用例中,数列的顺序就是正确的顺序。

由 ChatGPT 4.1 翻译

样例

5
4
4 2 1
4 2 3
2 1 3
4 1 3
3
2 3
1 3
1 2
5
4 2 1 3
2 1 3 5
4 2 3 5
4 1 3 5
4 2 1 5
4
2 3 4
1 3 4
1 2 3
1 2 4
3
2 1
1 3
2 3
4 2 1 3 
1 2 3 
4 2 1 3 5 
1 2 3 4 
2 1 3 

在线编程 IDE

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