Cod sursa(job #338328)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 5 august 2009 15:07:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<stdio.h>
#define N 500009
struct nod{int inf;nod *urm;};
nod *p[N],*pp;
int n,c,v,h;
void readd(),add(),del(),ver();
int main()
{
	readd();
	for(;n;n--)
	{ scanf("%d%d",&c,&v);
	  if(c==1){add();continue;}
	  if(c==2){del();continue;}
	  ver();
	}
	return 0;
}
void readd()
{
	freopen("hashuri.in","rt",stdin);
	freopen("hashuri.out","wt",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");
}