Cod sursa(job #606283)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 3 august 2011 18:53:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<fstream.h>
#define N 1000001
typedef struct nod
{long info;
nod *urm;}Nod;
long n,y,i,x;
Nod *h[N];
int find(Nod *l,long y)
{Nod *p;
for(p=l;p!=NULL;p=p->urm)
if(p->info==y)
       return 1;
return 0;}

void add(Nod *&l,long y)
{Nod *nou=new Nod;
nou->urm=l,nou->info=y,l=nou;}

void del(Nod *&l,long y)
{Nod *p=l,*q=l;
while(p&&p->info!=y)
      q=p,p=p->urm;
if(p)
      {if(q==p)
             l=l->urm;
      else
             q->urm=p->urm;
      free(p);}}

int main()
{ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<N;i++)
      h[i]=NULL;
for(i=1;i<=n;i++)
      {f>>x>>y;
      if(x==1)
              {if(!find(h[y%N],y))
                      add(h[y%N],y);}
      else
              if(x==2)
                      {if(find(h[y%N],y))
                              del(h[y%N],y);}
              else
                      g<<find(h[y%N],y)<<"\n";}
return 0;}