Pagini recente » Cod sursa (job #2417577) | Cod sursa (job #232427) | Cod sursa (job #534862) | Cod sursa (job #3285511) | Cod sursa (job #1922482)
#include <cstdio>
using namespace std;
const int prim=101,mod=1<<21;
int v[mod];
void inc(int &a)
{
if(++a==mod) a=0;
}
int hash_find(int x)
{
int a=(1LL*x*prim)%mod;
for(;v[a];a++)
if(v[a]==x) return a;
return -1;
}
void hash_insert(int x)
{
if(hash_find(x)!=-1) return;
int a=(1LL*x*prim)%mod;
for(;v[a]>0;a++);
v[a]=x;
}
void hash_erase(int x)
{
int poz=hash_find(x);
if(poz>=0) v[poz]=-1;
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int n,tip,x;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&tip,&x);
if(tip==1) hash_insert(x);
else if(tip==2) hash_erase(x);
else if(hash_find(x)==-1) printf("0\n");
else printf("1\n");
}
return 0;
}