问题 6423 --最小值是多少

6423: 最小值是多少★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 12  解决: 7
[提交][状态][命题人:]

题目描述

给我们三个整数a,br,请问,x0<=x<=r)为何值时可以使得|(a⊕x) – (b⊕x)|的值最小?即:在[0,r]区间内找到一个整数x,使得|(a⊕x) – (b⊕x)|的值最小。请输出该最小值。

提示::按位异或运算符,|y|: y的绝对值

输入

       第一行一个整数t1≤t≤10000):测试样例数;

接下来共t行,每个测试样例一行三个整数:a, b, r (1<=a,b,r<=1e18).


输出

输出共t行,每个测试用例一行一个整数:|(a⊕x)–(b⊕x)|的最小值。

样例输入
Copy
10
4 6 0
0 3 2
9 6 10
92 256 23
165 839 201
1 14 5
2 7 2
96549 34359 13851
853686404475946 283666553522252166 127929199446003072
735268590557942972 916721749674600979 895150420120690183
样例输出
Copy
2
1
1
164
542
5
3
37102
27934920819538516
104449824168870225

提示

在第一个测试用例中,r=0,所以x只能为0,此时有|4⊕060| =|4-6|=2;所以答案是2

在第二个测试用例中,r=2, x=0,12

x=0时,|0⊕0−3⊕0|=|0−3|=3

x=1时,|0⊕1−3⊕1|=|1−2|=1

x=2时,|0⊕2−3⊕2|=|2−1|=1

所以,答案是:1

来源

 

[提交][状态]