Cod sursa(job #306577)

Utilizator tibiletsKoos Tiberiu Iosif tibilets Data 21 aprilie 2009 14:23:30
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream.h>
struct nod
{int inf;
 nod *adr;}*h[1000000];
void ad(nod *&l,int x)
{nod *p=new nod;p->inf=x;
 p->adr=l;l=p;}
void del(nod *&l,int x)
{if(l)
 {nod *p=l;
  if(p->inf==x)
  {l=l->adr;
   delete p;}
  else
  {while(p->adr&&p->adr->inf!=x)p=p->adr;
   if(p->adr)
   {nod* q=p->adr;
    p->adr=q->adr;
    delete q;}
}}}
short srch(nod *l,int x)
{while(l)
 {if(l->inf==x)return 1;
  l=l->adr;}
 return 0;}
int main()
{ifstream f("hashuri.in");
ofstream g("hashuri.out");
int N,x,P;
short op;
f>>N;P=N;
while(N--)
{f>>op>>x;
 switch(op)
 {case 1:ad(h[x%P],x);break;
  case 2:del(h[x%P],x);break;
  default:g<<srch(h[x%P],x)<<'\n';}
}
return 0;
}