Nu exista pagina, dar poti sa o creezi ...
Cod sursa(job #408314)
Utilizator | Data | 2 martie 2010 22:55:17 | |
---|---|---|---|
Problema | Hashuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <stdio.h>
long i,j,poz,x,y,n,q,a[3][1000010],z,st[100000],fin[100000],l;
int main()
{freopen("hashuri.in","r",stdin);freopen("hashuri.out","w",stdout);
q=71037;l=0;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{scanf("%ld%ld",&y,&x);
if(y==1){poz=x%q;if(fin[poz]==0){l++;st[poz]=fin[poz]=l;a[1][l]=x;}
else {l++;a[2][fin[poz]]=l;a[1][l]=x;}
}
if(y==2){poz=x%q;z=st[poz];
while(a[2][z]!=0)
{if(a[1][z]==x)a[1][z]=0;
break;
}
}
if(y==3){poz=x%q;z=st[poz];
for(j=z;j<=fin[poz];j=a[2][j]){if(a[1][j]==x)printf("1\n");break;}
if(j==fin[poz]&&a[1][j]!=x)printf("0\n");
}
}
fclose(stdin);fclose(stdout);
return 0;
}