小陶的位运算挑战
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景:
在桃花山下的桃花观里,活了一千年的长生者陶眠正在研究他的“共享修炼长生系统”。为了在云共享中永远比他的卷王徒弟们高出一筹,系统面板弹出了两个被加密的底层参数 和 。
若要完美触发被动效果,小陶道长需要找到一个“平衡因子” 。通过按位异或(XOR)运算改变这两个参数的二进制分布,使得变换后 的二进制中 的个数,popcount)严格大于变换后的 的二进制中 的个数。
题目描述:
给定两个非负整数 和 ,你需要构造一个整数 ,使得:
$$\operatorname{popcount}(x \oplus n) > \operatorname{popcount}(y \oplus n)$$其中 表示 在二进制表示中 的个数。例如 (二进制为 ),(二进制为 )。
表示按位异或运算。
题目保证在给定范围内一定有解。如果有多解,输出任意一个满足条件的 即可。
输入格式:
第一行一个整数 ,表示测试数据组数。
接下来 行,每行两个整数 。
输出格式:
对于每组数据,输出一行一个整数 ,满足上述不等式。
输入样例:
2
1 2
0 4
输出样例:
2
4
说明/提示:
本题数据量较大,请使用较快的读入方式。
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cout << "答案" << '\n';