CF1305A Kuroni and the Gifts

题目描述

Kuroni 有 $n$ 个女儿。作为礼物,他为每个女儿买了 $n$ 条项链和 $n$ 个手链: - 第 $i$ 条项链的亮度为 $a_i$,其中所有 $a_i$ 两两不同(即所有 $a_i$ 都不同)。 - 第 $i$ 个手链的亮度为 $b_i$,其中所有 $b_i$ 两两不同(即所有 $b_i$ 都不同)。 Kuroni 想要给每个女儿分配恰好一条项链和一个手链。为了让每个女儿都独一无二,每个女儿收到的礼物总亮度应当两两不同。具体来说,如果第 $i$ 个女儿收到亮度为 $x_i$ 的项链和亮度为 $y_i$ 的手链,则所有 $x_i + y_i$ 应当两两不同。请你帮助 Kuroni 分配这些礼物。 例如,若亮度分别为 $a = [1, 7, 5]$ 和 $b = [6, 1, 2]$,可以如下分配: - 给第一个女儿第三条项链和第一个手链,总亮度为 $a_3 + b_1 = 11$。 - 给第二个女儿第一条项链和第三个手链,总亮度为 $a_1 + b_3 = 3$。 - 给第三个女儿第二条项链和第二个手链,总亮度为 $a_2 + b_2 = 8$。 以下是一种无效的分配方式: - 给第一个女儿第一条项链和第一个手链,总亮度为 $a_1 + b_1 = 7$。 - 给第二个女儿第二条项链和第二个手链,总亮度为 $a_2 + b_2 = 8$。 - 给第三个女儿第三条项链和第三个手链,总亮度为 $a_3 + b_3 = 7$。 这种分配方式是无效的,因为第一个和第三个女儿收到的礼物总亮度相同。不要让她们因此而不高兴!

输入格式

输入包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 100$),表示女儿、项链和手链的数量。 第二行包含 $n$ 个两两不同的整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 1000$),表示项链的亮度。 第三行包含 $n$ 个两两不同的整数 $b_1, b_2, \dots, b_n$($1 \le b_i \le 1000$),表示手链的亮度。

输出格式

对于每个测试用例,输出两行。 第一行输出 $n$ 个整数 $x_1, x_2, \dots, x_n$,表示第 $i$ 个女儿获得亮度为 $x_i$ 的项链。 第二行输出 $n$ 个整数 $y_1, y_2, \dots, y_n$,表示第 $i$ 个女儿获得亮度为 $y_i$ 的手链。 要求 $x_1, \dots, x_n$ 是 $a_1, \dots, a_n$ 的某种排列,$y_1, \dots, y_n$ 是 $b_1, \dots, b_n$ 的某种排列,并且 $x_1 + y_1, x_2 + y_2, \dots, x_n + y_n$ 都两两不同。 可以证明一定存在解。如果有多种方案,输出任意一种均可。

说明/提示

在第一个测试用例中,只需将第 $i$ 条项链和第 $i$ 个手链分别给第 $i$ 个女儿即可。对应的总亮度分别为 $1 + 8 = 9$,$8 + 4 = 12$,$5 + 5 = 10$。 第二个测试用例见题目描述。 由 ChatGPT 4.1 翻译