#P14592. [LNCPC 2025] 裂痕

[LNCPC 2025] 裂痕

题目背景

Atlansert 撞见了裂痕,Z 形管道猫说那里会藏着故事。

题目描述

给定一个正整数 nn 和两个长度为 nn 的排列 *^{\text{*}} r,cr,c

请您求出一个满足下列所有条件的矩阵:

  • 矩阵有 nnnn 列,元素都是在 [0,n][0,n] 内的整数。
  • ii 行元素的 MEX^{\text{†}} 值是 rir_i
  • ii 列元素的 MEX 值是 cic_i

可以证明一定存在这样的矩阵。


^{\text{∗}} 一个长度为 nn 的排列是一个由 11nnnn 个不同整数组成的数组,这些整数的顺序可以任意。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但是 [1,2,2][1,2,2] 不是一个排列(因为 22 在数组中出现了两次),[1,3,4][1,3,4] 也不是一个排列(因为 n=3n=3 但是数组中有 44)。

^{\text{†}} 一组整数 a1,a2,,aka_1,a_2,\ldots,a_k 的 MEX(Minimum Excluded)是该组中未出现的最小非负整数 xx。例如,MEX([2,2,1])=0\operatorname{MEX}([2,2,1])= 0(因为 00 不在数组中),MEX([3,1,0,1])=2\operatorname{MEX}([3,1,0,1]) = 2(因为 0011 在数组中,但是 22 不在),MEX([0,3,1,2])=4\operatorname{MEX}([0,3,1,2]) = 4(因为 00112233 在数组中,但是 44 不在)。

输入格式

每个测试点包含多组测试数据。第一行给定一个整数 T(1T103)T(1 \le T \le 10^3),表示测试数据组数。

对于每组测试数据:
第一行给定一个正整数 n(1n2×103)n(1\le n\le2\times 10^3)
第二行给定一个长度为 nn 的排列 r1,r2,,rnr_1,r_2,\ldots,r_n
第三行给定一个长度为 nn 的排列 c1,c2,,cnc_1,c_2,\ldots,c_n

保证在每个测试点中所有测试数据的 nn 的总和不超过 2×1032\times 10^3

输出格式

对于每组测试数据,输出共 nn 行,每行输出 nn 个整数,表示一个满足本题所有条件的矩阵。如果存在多个这样的矩阵,那么输出其中任意一个。

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

0 0 4 1
2 3 4 0
1 2 0 1
0 1 2 3
0 0 0 0 1
0 0 0 2 0
2 3 3 1 0
2 1 0 4 2
0 2 1 3 4

提示

本题的输入输出量较大,请注意所使用的输入输出方式。