Pagini recente » Cod sursa (job #1361) | Cod sursa (job #9962) | Cod sursa (job #2404424) | Cod sursa (job #3032433) | Cod sursa (job #1968609)
#include <bits/stdc++.h>
using namespace std;
const int mod = (1 << 22) - 1;
int n;
int h[mod];
int nxt(int x) {
srand(time(0));
return (x + rand() % 10 + 1) & mod;
}
void _add(int x, int pos) {
h[pos] = x;
}
void _delete(int x, int pos) {
h[pos] = 0;
}
int _find(int x) {
int pos = x & mod;
for ( ; h[pos] && h[pos] != x; pos = nxt(pos));
return pos;
}
int main() {
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
int type, x; scanf("%d %d", &type, &x);
if (type == 1)
_add(x, _find(x));
if (type == 2)
_delete(x, _find(x));
if (type == 3)
printf("%d\n", (h[_find(x)] == x));
}
return 0;
}