Pagini recente » Cod sursa (job #3239122) | Cod sursa (job #2891877) | Cod sursa (job #362929) | Cod sursa (job #1857342) | Cod sursa (job #2025203)
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long i64;
const int mod0 = 662059, mod1 = 885421, mod2 = 592973, mod3 = 980731, mod4 = 351157, mod5 = 661513, mod6 = 611603, mod7 = 620821;
int s0[mod0], s1[mod1], s2[mod2], s3[mod3], s4[mod4], s5[mod5], s6[mod6], s7[mod7];
bool exists(unsigned x) {
int num0 = (s0[x%mod0] == 0) + (s1[x%mod1] == 0) + (s2[x%mod2] == 0) + (s3[x%mod3] == 0)
+ (s4[x%mod4] == 0) + (s5[x%mod5] == 0) + (s6[x%mod6] == 0) + (s7[x%mod7] == 0);
return num0 >= 4;
}
int main() {
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int q;
scanf("%d", &q);
while (q--) {
int op; unsigned x;
scanf("%d%u", &op, &x);
x *= 2654435761;
if (op == 3) printf("%d\n", exists(x));
else if (op == 1) {
if (exists(x)) continue;
s0[x%mod0]++; s1[x%mod1]++; s2[x%mod2]++; s3[x%mod3]++;
s4[x%mod4]++; s5[x%mod5]++; s6[x%mod6]++; s7[x%mod7]++;
} else {
if (!exists(x)) continue;
s0[x%mod0]--; s1[x%mod1]--; s2[x%mod2]--; s3[x%mod3]--;
s4[x%mod4]--; s5[x%mod5]--; s6[x%mod6]--; s7[x%mod7]--;
}
}
}