Pagini recente » Cod sursa (job #2039440) | Cod sursa (job #166807) | Cod sursa (job #409723) | Cod sursa (job #1916032) | Cod sursa (job #280715)
Cod sursa(job #280715)
//hashuri bc
#include <stdio.h>
#define mod 666013
struct nod {int inf; nod *urm;} *l[mod];
int n,tip,val,hash;
void add()
{
hash=val%mod;
nod *q;
for(q=l[hash];q;q=q->urm)
if(q->inf==val)
return;
q=new nod;
q->inf=val;
q->urm=l[hash];
l[hash]=q;
}
void erase()
{
hash=val%mod;
nod *q;
for(q=l[hash];q;q=q->urm)
if(q->inf==val)
break;
if(!q) return;
q->inf=l[hash]->inf;
q=l[hash];
l[hash]=l[hash]->urm;
delete q;
}
void check()
{
hash=val%mod;
for(nod *q=l[hash];q;q=q->urm)
if(q->inf==val)
{
printf("1\n");
return;
}
printf("0\n");
}
int main()
{
int i;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&tip,&val);
if(tip==1) add();
else if(tip==2) erase();
else check();
}
fclose(stdout);
return 0;
}