AT_agc016_d [AGC016D] XOR Replace

题目描述

有一个长度为 $N$ 的数列 $a = (a_1, a_2, \ldots, a_N)$,其中每个 $a_i$ 都是大于等于 $0$ 的整数。 すぬけ君可以重复进行以下操作: - 计算 $a$ 所有元素的异或值 $x$,然后选择一个整数 $i$($1 \le i \le N$),将 $a_i$ 替换成 $x$。 すぬけ君的目标是使 $a$ 变成数列 $b = (b_1, b_2, \ldots, b_N)$,其中每个 $b_i$ 也是大于等于 $0$ 的整数。 请判断目标是否可以实现,若可以实现,输出所需操作次数的最小值,否则输出 $-1$。

输入格式

输入由标准输入按如下格式给出: > $N$ $a_1$ $a_2$ $\ldots$ $a_N$ $b_1$ $b_2$ $\ldots$ $b_N$

输出格式

如果目标可以实现,输出所需的最小操作次数;否则输出 $-1$。

说明/提示

### 限制条件 - $2 \le N \le 10^5$ - $a_i$ 和 $b_i$ 都是整数。 - $0 \le a_i, b_i < 2^{30}$ ### 样例解释 1 一开始,$a$ 所有元素的异或值是 $3$。选择 $a_1$ 并将其替换为 $3$,此时 $a = (3, 1, 2)$。接着 $a$ 的异或值为 $0$,选择 $a_3$ 并将其替换为 $0$,此时 $a = (3, 1, 0)$,与 $b$ 一致。 由 ChatGPT 5 翻译