CF2085C Serval and The Formula

题目描述

给定两个正整数 $x$ 和 $y$($1 \le x, y \le 10^9$)。 请找到一个非负整数 $k \le 10^{18}$,使得等式 $(x + k) + (y + k) = (x + k) \oplus (y + k)$ 成立$^{\text{∗}}$,或判断这样的整数不存在。 $^{\text{∗}}$符号 $\oplus$ 表示[按位异或运算](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 $t$($1 \le t \le 10^4$)。接下来描述每个测试用例。 每个测试用例的唯一一行包含两个整数 $x$ 和 $y$($1 \le x, y \le 10^9$)——给定的整数。

输出格式

对于每个测试用例,输出一个整数 $k$($0 \le k \le 10^{18}$)——找到的符合条件的整数。若不存在这样的整数,输出 $-1$。 若存在多个答案,输出任意一个即可。

说明/提示

第一个测试案例中,由于 $(2 + 0) + (5 + 0) = (2 + 0) \oplus (5 + 0) = 7$,因此 $k = 0$ 是合法答案。注意 $k = 4$ 也是一个合法答案,因为 $(2 + 4) + (5 + 4) = (2 + 4) \oplus (5 + 4) = 15$。 第二个测试案例中,$(x + k) \oplus (y + k) = (6 + k) \oplus (6 + k) = 0$。然而对于所有 $k \ge 0$,$(x + k) + (y + k) > 0$ 恒成立,因此这样的整数 $k$ 不存在。 翻译由 DeepSeek R1 完成