#agc016d. [agc016_d]XOR Replace
[agc016_d]XOR Replace
题目描述
给定长度为 的序列 。在这里,每个 都是一个非负整数。
Snuke 可以重复执行以下操作:
- 令 中所有元素的异或值为 。选择一个整数 (),并将 替换为 。
Snuke 的目标是将 匹配到另一个序列 。在这里,每个 都是一个非负整数。
确定是否可以达到目标,并找到达到目标所需的最小操作次数(如果答案为正)。
约束条件
- 和 是整数。
输入
输入从标准输入读取,格式如下:
输出
如果可以达到目标,则输出达到目标所需的最小操作次数。否则,输出 -1
。
示例输入 1
3
0 1 2
3 1 0
示例输出 1
2
首先, 中所有元素的异或值为 。如果我们将 替换为 , 变为 。
现在, 中所有元素的异或值为 。如果我们将 替换为 , 变为 ,与 匹配。
示例输入 2
3
0 1 2
0 1 2
示例输出 2
0
示例输入 3
2
1 1
0 0
示例输出 3
-1
示例输入 4
4
0 1 2 3
1 0 3 2
示例输出 4
5