Pagini recente » Cod sursa (job #1860767) | Cod sursa (job #2318888) | Cod sursa (job #1853127) | Cod sursa (job #2133983) | Cod sursa (job #1517729)
#include<stdio.h>
#define mod 666019
#define maxm 1000000
int lst[mod+1];
int val[maxm+1];
int urm[maxm+1];
int k=0;
int cauta(int x)
{
int p=lst[x%mod];
while(p)
{
if(val[p]==x)
{
return p;
}
p=urm[p];
}
return -1;
}
void adauga(int x)
{
if(cauta(x)!=-1)
return;
else
{
k++;
val[k]=x;
urm[k]=lst[x%mod];
lst[x%mod]=k;
}
}
void sterge(int x)
{
int p=cauta(x);
if(p!=-1)
val[p]=-1;
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int nr,i,cer,x;
scanf("%d",&nr);
for(i=1; i<=nr; i++)
{
scanf("%d%d",&cer,&x);
if(cer==1) ///adauga x;
adauga(x);
if(cer==2)
sterge(x);
if(cer==3)
{
if(cauta(x)!=-1)
printf("1\n");
else
printf("0\n");
}
}
return 0;
}