给我们三个整数a,b和r,请问,当x(0<=x<=r)为何值时可以使得|(a⊕x) – (b⊕x)|的值最小?即:在[0,r]区间内找到一个整数x,使得|(a⊕x) – (b⊕x)|的值最小。请输出该最小值。
提示:⊕:按位异或运算符,|y|: y的绝对值
给我们三个整数a,b和r,请问,当x(0<=x<=r)为何值时可以使得|(a⊕x) – (b⊕x)|的值最小?即:在[0,r]区间内找到一个整数x,使得|(a⊕x) – (b⊕x)|的值最小。请输出该最小值。
提示:⊕:按位异或运算符,|y|: y的绝对值
第一行一个整数t(1≤t≤10000):测试样例数;
接下来共t行,每个测试样例一行三个整数:a, b, r (1<=a,b,r<=1e18).
输出共t行,每个测试用例一行一个整数:|(a⊕x)–(b⊕x)|的最小值。
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
2 1 1 164 542 5 3 37102 27934920819538516 104449824168870225
在第一个测试用例中,r=0,所以x只能为0,此时有|4⊕0−6⊕0| =|4-6|=2;所以答案是2;
在第二个测试用例中,r=2, 则x=0,1或2;
当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