C. 按位平衡
时间限制:每个测试用例 2 秒
内存限制:256 兆字节
给定三个非负整数 b、c 和 d。
请找出一个非负整数 a∈[0,261],使得等式:
(a∣b)−(a&c)=d
成立,其中 ∣ 表示按位或运算,& 表示按位与运算。
如果存在这样的 a,输出它的值;如果不存在解,输出 −1;如果存在多个解,输出任意一个即可。
输入格式
每个测试文件包含多组测试用例。
第一行输入测试用例数量 t(1≤t≤105)。
每组测试用例仅一行,包含三个非负整数 b、c、d(0≤b,c,d≤1018)。
输出格式
对于每组测试用例,输出满足条件的 a 的值;若无解则输出 −1。
注意:a 必须是非负整数,且不能超过 261。
样例输入
3
2 2 2
4 2 6
10 2 14
样例输出
0
-1
12
样例说明
- 第一组测试用例:(0∣2)−(0&2)=2−0=2,因此 a=0 是正确答案。
- 第二组测试用例:不存在满足等式的 a。
- 第三组测试用例:(12∣10)−(12&2)=14−0=14,因此 a=12 是正确答案。