Pagini recente » Cod sursa (job #898064) | Monitorul de evaluare | Cod sursa (job #2017766) | Cod sursa (job #1361289) | Cod sursa (job #431085)
Cod sursa(job #431085)
#include<stdio.h>
FILE *f,*g;
long n,i,modul,c[680000],fin[680000],t[3][680000],x,poz,nr;
int op,ok;
int main()
{ f=fopen("hashuri.in","r"); g=fopen("hashuri.out","w");
fscanf(f,"%ld",&n); modul=666013;
for(i=1;i<=n;i++)
{ fscanf(f,"%d%ld",&op,&x);
if(op==1)
{ poz=x%modul;
if(c[poz]==0) { nr++; c[poz]=fin[poz]=nr; t[1][nr]=x; }
else { nr++; t[2][fin[poz]]=nr; t[1][nr]=x; fin[poz]=nr; }
}
else if(op==2)
{ poz=x%modul; poz=c[poz];
while(poz)
{ if(t[1][poz]==x) { t[1][poz]=0; poz=0; }
poz=t[2][poz];
}
}
else if(op==3)
{ poz=x%modul; poz=c[poz]; ok=0;
while(poz)
{ if(t[1][poz]==x) { ok=1; poz=0; }
poz=t[2][poz];
}
fprintf(g,"%d\n",ok);
}
}
fclose(g);
return 0;
}