Pagini recente » Cod sursa (job #2965125) | Cod sursa (job #873972) | Cod sursa (job #2554341) | Cod sursa (job #550647) | Cod sursa (job #371422)
Cod sursa(job #371422)
#include<stdio.h>
#define NM 1000005
#define D 1000003
struct nod
{
int x;
nod *next;
};
nod *v[NM];
int makehash(int x)
{
return x%D;
}
void addnod(int x)
{
int r=makehash(x);
nod *nn=new nod;
nn->x=x;
nn->next=v[r];
v[r]=nn;
}
nod* search(int x)
{
int r=makehash(x);
nod *nc=v[r];
while(nc&&nc->x!=x) nc=nc->next;
return nc;
}
void sterge(int x)
{
nod *nc=search(x);
if(nc)nc->x=0;
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int i,n,op,x,este;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&op,&x);
switch(op)
{
case 1:
if(!search(x))addnod(x);
break;
case 2:
sterge(x);
break;
case 3:
printf("%d\n",search(x)>0);
}
}
return 0;
}