显示原始代码
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
int num;
int temp;
int operate;
set<unsigned int> s;
set<unsigned int> ts;
set<unsigned int>::iterator it;
cin >> n;
unsigned int ans[n];
for (int i = 0; i < n; i++) {
ans[i] = 0;
}
for (int i = 0; i < n; i++) {
cin >> operate;
if (operate == 1) {
for (it = s.begin(); it != s.end(); it++) {
ts.insert(*it + 1);
}
s.clear();
for (it = ts.begin(); it != ts.end(); it++) {
s.insert(*it);
}
for (it = s.begin(); it != s.end(); it++) {
ans[i] = *it ^ ans[i];
}
} else {
cin >> num;
s.insert(num);
for (it = s.begin(); it != s.end(); it++) {
ans[i] = *it ^ ans[i];
}
}
}
for (int i = 0; i < n; i++) {
cout << ans[i] << endl;
}
return 0;
}