Pagini recente » Cod sursa (job #2931953) | Cod sursa (job #337954) | Cod sursa (job #290319) | Cod sursa (job #945637) | Cod sursa (job #850012)
Cod sursa(job #850012)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> hash[666013];
void op1(int x)
{
int k=x%666013;
int i;
for (i=0;i<hash[k].size();i++)
if(hash[k][i]==x) return;
hash[k].push_back(x);
}
void op2(int x)
{
int k=x%666013;
int i;
for(i=0;i<hash[k].size();i++)
if(hash[k][i]==x)
{
hash[k][i]=hash[k][hash[k].size()-1];
hash[k].pop_back();
return ;
}
}
int op3(int x)
{
int k=x%666013;
int i;
for(i=0;i<hash[k].size();i++)
if(hash[k][i]==x) return 1;
return 0;
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n, i, x;
int nr;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&nr,&x);
if(nr==1)
op1(x);
if(nr==2)
op2(x);
if(nr==3)
printf("%d\n",op3(x));
}
return 0;
}