这个视频讲的比较清楚:
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int a, b, c;
scanf("%d,%d,%d", &a, &b, &c);
int xorSum = a ^ b ^ c;
if (xorSum == 0) {
cout << 1 << endl;
} else {
if (a >= (a ^ xorSum)) {
cout << "A," << (a - (a ^ xorSum)) << endl;
} else if (b >= (b ^ xorSum)) {
cout << "B," << (b - (b ^ xorSum)) << endl;
} else if (c >= (c ^ xorSum)) {
cout << "C," << (c - (c ^ xorSum)) << endl;
}
}
return 0;
}
时间复杂度:O(1)
空间复杂度:O(1)

京公网安备 11010502036488号