Pagini recente » Cod sursa (job #1058092) | Cod sursa (job #358939) | Cod sursa (job #2133369) | Cod sursa (job #1423538) | Cod sursa (job #1099634)
#include<cstdio>
#include<vector>
using namespace std;
#define MAX 600043
vector <int> G[MAX];
vector<int>::iterator search(int x, int mod)
{
//int *it;
vector<int>::iterator it;
for(it=G[mod].begin();it!=G[mod].end();it++)
if(*it==x)
return it;
//return -1;
return G[mod].end();
}
void insert(int x)
{
vector<int>::iterator it;
int mod=x%MAX;
it=search(x,mod);
if(it==G[mod].end())
G[mod].push_back(x);
}
void remove(int x)
{
vector<int>::iterator it;
int mod=x%MAX;
it=search(x,mod);
if(it!=G[mod].end())
G[mod].erase(it);
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n,op,x;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&op,&x);
switch(op)
{
case 1: { insert(x); break;}
case 2: { remove(x); break;}
case 3: { vector<int>::iterator it; it=search(x,x%MAX); if(it!=G[x%MAX].end()) printf("1\n"); else printf ("0\n"); break;}
}
}
return 0;
}