显示原始代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int array[20005];
int inca(int* array, int n);
int yihuo(int x, int y);
int insert(int* array, int n, int x);
int main() {
int n;
scanf("%d", &n);
int flag, x;
int data = 0;
int top = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &flag);
if (flag == 1) {
inca(&array, top);
data = array[0];
for (int j = 1; j < top; j++) {
data = yihuo(data, array[j]);
}
printf("%d\n", data);
} else if (flag == 2) {
scanf("%d", &x);
top = insert(&array, top, x);
data = yihuo(data, x);
printf("%d\n", data);
}
}
return 0;
}
int inca(int* array, int n) {
for (int i = 0; i < n; i++) {
array[i]++;
}
return 0;
}
int yihuo(int x, int y) {
int data1, data2;
int sum = 0, flag = 1;
while (x != 0 || y != 0) {
data1 = x % 2;
data2 = y % 2;
x /= 2;
y /= 2;
if (data1 != data2) {
sum += flag;
}
flag *= 2;
}
return sum;
}
int insert(int* array, int n, int x) {
array[n] = x;
return n + 1;
}