#P14592. [LNCPC 2025] 裂痕

    ID: 16293 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>2025Special Judge辽宁构造省赛/邀请赛

[LNCPC 2025] 裂痕

背景

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

题目描述

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

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

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

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


∗^{\text{∗}} 一个长度为 nn 的排列是一个由 11 到 nn 的 nn 个不同整数组成的数组,这些整数的顺序可以任意。例如,[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(因为 00 和 11 在数组中,但是 22 不在),MEX⁡([0,3,1,2])=4\operatorname{MEX}([0,3,1,2]) = 4(因为 00、11、22 和 33 在数组中,但是 44 不在)。

输入格式

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

对于每组测试数据:
第一行给定一个正整数 n(1≤n≤2×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

提示

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