Pagini recente » Cod sursa (job #1506556) | Cod sursa (job #730008) | Monitorul de evaluare | Cod sursa (job #638897) | Cod sursa (job #731279)
Cod sursa(job #731279)
using namespace std;
#include<cstdio>
#include<vector>
#define MAX 600043
vector <int> G[MAX];
//int
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;
}
void insert(int x)
{
vector<int>::iterator it;
int mod=x%MAX;
it=search(x,mod);
if(*it!=x)
G[mod].push_back(x);
}
void remove(int x)
{
vector<int>::iterator it;
int mod=x%MAX;
it=search(x,mod);
if(*it==x)
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==x) printf("1\n"); else printf ("0\n"); break;}
}
}
return 0;
}