#P15137. [SWERC 2025] Chamber of Secrets 2

[SWERC 2025] Chamber of Secrets 2

说明

你正在玩游戏哈利·波特与密室 22。你想解锁下一关,即密室。入口门上有 nn 个面板,每个面板显示一个由 mm 个符号组成的序列。乘积 nmnm 是偶数。系统通过以下四步过程从一个秘密排列生成这些序列:

  • 首先,从一个秘密排列 [p1,p2,,pnm/2][p_1, p_2, \dots, p_{nm/2}] 开始;
  • 然后,通过将秘密排列与自身连接来重复它,形成数组 [b1,b2,,bnm][b_1, b_2, \dots, b_{nm}]
  • 接着,将这个数组分割成 nn 个连续的块,即长度为 mm 的不相交子数组;
  • 最后,将这些块以任意顺序打乱并分配到各个面板上。

你被给出了系统产生的最终 nn 个面板序列。第 ii 个面板显示 [ai,1,ai,2,,ai,m][a_{i,1}, a_{i,2}, \dots, a_{i,m}]。你的任务是恢复一个可能的原始秘密排列 [p1,p2,,pnm/2][p_1, p_2, \dots, p_{nm/2}]。对于给定的输入,至少存在一个解。如果有多个秘密排列有效,输出其中任意一个。

两个数组 [x1,x2,,xk1][x_1, x_2, \dots, x_{k_1}][y1,y2,,yk2][y_1, y_2, \dots, y_{k_2}] 的连接是长度为 k1+k2k_1 + k_2 的数组 $[x_1, x_2, \dots, x_{k_1}, y_1, y_2, \dots, y_{k_2}]$。

长度为 ll 的一个排列是一个由 11llll 个不同整数以任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(22 在数组中出现两次),并且 [1,3,4][1,3,4] 也不是排列(l=3l = 3 但数组中有 44)。

输入格式

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

每个测试用例的第一行包含两个整数 n,mn, m1n701 \le n \le 70, 1m701 \le m \le 70)—— 面板的数量和每个显示序列的长度。

接下来的 nn 行中的第 ii 行包含 mm 个整数 ai,1,ai,2,,ai,ma_{i,1}, a_{i,2}, \dots, a_{i,m}1ai,jnm/21 \le a_{i,j} \le nm/2),表示第 ii 个面板上显示的序列。

注意,所有测试用例中的 nnmm 之和没有约束。

输出格式

对于每个测试用例,输出一行,包含一个秘密排列 [p1,p2,,pnm/2][p_1, p_2, \dots, p_{nm/2}],使得上述过程可以产生 nn 个面板序列 [ai,1,ai,2,,ai,m][a_{i,1}, a_{i,2}, \dots, a_{i,m}]。对于给定的输入,保证至少存在一个解。

5
6 2
1 2
3 4
5 6
5 6
3 4
1 2
5 2
1 3
4 1
2 4
5 2
3 5
5 4
4 1 3 2
6 9 5 10
5 10 4 1
3 2 7 8
7 8 6 9
4 3
3 5 2
1 4 6
1 4 6
3 5 2
1 8
3 1 2 4 3 1 2 4
5 6 3 4 1 2
2 4 1 3 5
3 2 7 8 6 9 5 10 4 1
3 5 2 1 4 6
3 1 2 4

提示

样例解释

在第一个测试用例中,一个有效的秘密排列是 [p1,p2,,pnm/2]=[5,6,3,4,1,2][p_1, p_2, \dots, p_{nm/2}] = [5, 6, 3, 4, 1, 2]

  • 数组 [b1,b2,,bnm][b_1, b_2, \dots, b_{nm}][p1,p2,,pnm/2]=[5,6,3,4,1,2][p_1, p_2, \dots, p_{nm/2}] = [5, 6, 3, 4, 1, 2] 的两个副本的连接;
  • [b1,b2,,bnm][b_1, b_2, \dots, b_{nm}] 分割成块 [5,6][5, 6], [3,4][3, 4], [1,2][1, 2], [5,6][5, 6], [3,4][3, 4], [1,2][1, 2]
  • 打乱后,最终的面板序列 [ai,1,ai,2,,ai,m][a_{i,1}, a_{i,2}, \dots, a_{i,m}] 可以与这些块一致。

翻译由 DeepSeek 完成