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