Cod sursa(job #280400)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 13 martie 2009 12:53:39
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include<cstdio>
#define N 500009

struct nod
{
    int inf;
    nod *urm;
};

nod *p[N],*pp;
int n,c,v,h;

void readd()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
}

void add()
{
	h=v%N;
	for(pp=p[h]; pp; pp=pp->urm)
        if(pp->inf==v)
            return;
	pp=new nod;
	pp->inf=v;
	pp->urm=p[h];
	p[h]=pp;
}

void del()
{
	h=v%N;
	for(pp=p[h];pp;pp=pp->urm)
        if(pp->inf==v)
            break;
	if(!pp)
        return;
	pp->inf=p[h]->inf;
	pp=p[h];
	p[h]=p[h]->urm;
	delete pp;
}

void ver()
{
	h=v%N;
	for(pp=p[h];pp;pp=pp->urm)
        if(pp->inf==v)
        {
            printf("1\n");
            return;
        }
	printf("0\n");
}

int main()
{
	readd();
	for(;n;n--)
	{ scanf("%d%d",&c,&v);
	  if(c==1){add();continue;}
	  if(c==2){del();continue;}
	  ver();
	}
	return 0;
}