Pagini recente » Cod sursa (job #2864756) | Cod sursa (job #320785) | Cod sursa (job #697422) | Cod sursa (job #1496881) | Cod sursa (job #930613)
Cod sursa(job #930613)
#include<stdio.h>
#include<list>
#define mod 666013
using namespace std;
int n;
list <int> l[mod];
int hash(int x)
{
return x%mod;
}
void add(int x)
{
int k=hash(x);
l[k].push_front(x);
}
void del(int x)
{
int k=hash(x);
for(list<int>::iterator it=l[k].begin();it!=l[k].end();it++)
if(*it==x)
{
l[k].erase(it);
return;
}
}
int search(int x)
{
int k=hash(x);
for(list<int>::iterator it=l[k].begin();it!=l[k].end();it++)
if(*it==x)
return 1;
return 0;
}
void cit()
{
int i;
int ok,x;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&ok,&x);
if(ok==1) add(x);
else
if(ok==2) del(x);
else
printf("%d\n",search(x));
}
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
cit();
fclose(stdin);
fclose(stdout);
return 0;
}