Pagini recente » Cod sursa (job #1681976) | Cod sursa (job #2352326) | Cod sursa (job #379816) | Cod sursa (job #434410) | Cod sursa (job #903069)
Cod sursa(job #903069)
#include<fstream>
#define DIM 1000001
#define MOD 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int i,n,x,t,p[DIM],h[DIM],o[DIM],poz,ty;
int add(int x);
int del(int x);
int find(int x);
int main ()
{
f>>n;
for(i=1;i<=n;++i)
{
f>>ty>>x;
switch(ty)
{
case 1:add(x);break;
case 2:del(x);break;
case 3:g<<find(x)<<"\n";break;
}
}
return 0;
}
int add(int x)
{
h[++t]=x;
p[t]=x%MOD;
o[x%MOD]=t;
}
int find(int x)
{
poz=o[x%MOD];
while(h[poz]!=x&&poz)
{
poz=p[poz];
}
if(h[poz]==x)
return 1;
return 0;
}
int del(int x)
{
poz=o[x%MOD];
while(h[poz]!=x&&poz)
{
poz=p[poz];
}
if(h[poz]==x)
h[poz]=-1;
}