AT_arc124_b [ARC124B] XOR Matching 2
题目描述
给定两个只包含非负整数的长度为 $N$ 的数列 $a$ 和 $b$。$a$ 和 $b$ 的第 $i$ 个元素分别为 $a_i$ 和 $b_i$。
如果存在非负整数 $x$ 满足以下条件,则称 $x$ 为**好数**。
- 条件:可以重新排列 $b$,使得对于所有满足 $1 \leq i \leq N$ 的整数 $i$,都有 $a_i\ \text{XOR}\ b_i = x$。这里的 $\text{XOR}$ 表示按位异或运算。
请按从小到大的顺序列举所有好数。
$\text{XOR}$ 的定义如下:对于整数 $x, y$,它们的按位异或 $x\ \text{XOR}\ y$,在二进制下的每一位 $2^k$($k \geq 0$)上,如果 $x$ 和 $y$ 在该位上只有一个为 $1$,则结果为 $1$,否则为 $0$。
例如,$3\ \text{XOR}\ 5 = 6$(二进制表示为:$011\ \text{XOR}\ 101 = 110$)。
输入格式
输入以如下格式从标准输入读入:
> $N$ $a_1$ $\cdots$ $a_N$ $b_1$ $\cdots$ $b_N$
输出格式
第一行输出好数的个数 $K$。接下来输出 $K$ 行,每行一个好数,按从小到大的顺序输出。
说明/提示
### 限制
- 所有输入均为整数。
- $1 \leq N \leq 2000$
- $0 \leq a_i, b_i < 2^{30}$
### 样例解释 1
- 当 $b$ 被重新排列为 $(4, 7, 6)$ 时,有 $a_1\ \text{XOR}\ b_1 = a_2\ \text{XOR}\ b_2 = a_3\ \text{XOR}\ b_3 = 5$,因此 $5$ 是好数。没有其他好数。
由 ChatGPT 4.1 翻译