A. XORwice(水题)
吐槽:虽然是水题,,但是没有找到思路。。
题意:输入a,b,找到一个x,使(a^x)+(b^x)的值最小。
题解:还是博客大佬的思路好懂一些。
二进制,只有0 1两种情况。
当a=0,b=1时,x无论取0 还是1,都会得到1。同理,a=1,b=0,也是1。
当a=1,b=1时,x取1,就会得到0;
当a=0,b=0时,x取0,就会得到0;(尽可能让位上的0变多,肯定会让数尽量的小啦)。
发现a,b的值对应的结果正好是异或的结果(a^b)
ACcode:
int main()
{
int t;
cin >> t;
while (t--)
{
int a, b;
cin >> a >> b;
cout << (a ^ b) << endl;
}
return 0;
}