不论如何,代码源出题组 祝你儿童节快乐( •̀ ω •́ )⭐!致我们都曾是少年!
upd: 如果被题目名称刀了,实在抱歉。但是《未闻花名》真的好好哭 😭😭。
你也许知道,简单异或加密的手段。双方只需约定密钥,将信息全都异或上此密钥便可以得到加密信息,是一种非常小巧的加密方式。
例如我们约定密钥为 $520$,而密文为 [0X258, 0X269, 0X27C, 0X27A, 0X261, 0X26B, 0X263, 0X271]
,将其整体异或上密钥之后得到 [0X50, 0X61, 0X74, 0X72, 0X69, 0X63, 0X6B, 0X79]
。而这正是 $\rm Patricky$ 对应的 ASCII
码 💗。
但派派还是不放心,他同时给出一个 与密文 $\{A\}$ 一样长的密钥数组 $\{B\}$, 并将其 打乱顺序 试图增加破解难度 ψ(`∇´)ψ!
你也许注意到了,这样能组合出的密码数量非常多1。秉承着 “生命以负熵为食2” 的原则,派派要说的话(即密文)本身非常优美,你需要在所有可能的密码中给出 字典序最小 的密文。
形式化地说上面都不用看,给出长度均为 $N$ 的数组 $A, B$,你可任意安排 $B$ 的顺序,试求字典序最小的数组 $X$,其中
$$ X_i = A_i \oplus B_i,\;\forall i \in [1, n] $$
数据范围
- $N \in [1, 2 \times 10 ^ 3]$3
- $A_i, B_i \in [0, 2 ^ {30})$
输入描述
输入包含三行,第一行输入一个整数 $N$。
第二行包含 $N$ 个以空格分隔的整数,表示 $\{A\}$。
第三行包含 $N$ 个以空格分隔的整数,表示 $\{B\}$。
输出描述
输出仅包含一行,包含 $N$ 个以空格分隔的整数,表示 $\{X\}$。
提示
显然 $X_i \ge 0$。
样例 0 输入
3
520 1314 61
1389 104 577
样例 0 输出
73 79 85
样例 1 输入
3
8 4 13
17 2 7
样例 1 输出
10 3 28
样例 2 输入
3
0 0 0
17 2 7
样例 2 输出
2 7 17