Pagini recente » Cod sursa (job #1207470) | Cod sursa (job #354620) | Cod sursa (job #2950243) | Cod sursa (job #2401061) | Cod sursa (job #667555)
Cod sursa(job #667555)
#include <cstdio>
#include <cstring>
#define LGMAXN 6
#define MOD 80011 //666013
#define ERR -1
int H[MOD][LGMAXN];
inline int find(int x){
int key=x%MOD, i;
for(i=0; i<LGMAXN; i++)
if(H[key][i]==x)
return i;
return ERR;
}
inline void add(int x){
int key=x%MOD, i;
if(find(x)==ERR)
for(i=0; i<LGMAXN; i++)
if(!H[key][i]){
H[key][i]=x;
break;
}
}
inline void remove(int x){
int key=x%MOD, i;
if((i=find(x))!=ERR)
H[key][i]=0;
}
int main(){
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int N, a, b, i;
memset(H, 0, sizeof(H));
scanf("%d", &N);
for(i=0; i<N; i++){
scanf("%d%d", &a, &b);
if(a == 1)
add(b);
else if(a == 2)
remove(b);
else if(a == 3)
printf("%d\n", (find(b)!=ERR)? 1: 0);
}
return 0;
}