1 条题解
-
0
从高到低枚举二进制位数,判断每一位选取与 相反的状态是否能选到。
#include <bits/stdc++.h> using namespace std; int main() { int t; cin >> t; while (t--) { int x, k; cin >> x >> k; int y = 0; for (int i = 30; i >= 0; i--) { if (!(x >> i & 1) && k >= (1 << i)) { y += (1 << i); k -= (1 << i); } } if (!y) y = 1; cout << y << '\n'; } return 0; }
- 1
信息
- ID
- 502
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 17
- 已通过
- 5
- 上传者