Pagini recente » Cod sursa (job #1776236) | Cod sursa (job #1671864) | Cod sursa (job #1664337) | Cod sursa (job #2530764) | Cod sursa (job #404037)
Cod sursa(job #404037)
#include<stdio.h>
#include<vector>
#define Nmx 666013
using namespace std;
vector <int> G[Nmx];
int n;
vector<int>::iterator caut(int x)
{
int list = x % Nmx;
vector<int>::iterator it;
for (it = G[list].begin(); it != G[list].end(); ++it)
if (*it == x)
return it;
return G[list].end();
}
void stergere(int x)
{
int list = x%Nmx;
vector<int>::iterator it = caut(x);
if (it != G[list].end())
G[list].erase(it);
}
void inserare(int x)
{
if(caut(x)==G[x%Nmx].end())
G[x%Nmx].push_back(x);
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
int x,tip;
for(int i=1;i<=n;++i)
{
scanf("%d%d",&tip,&x);
if(tip==1)
inserare(x);
else if(tip==2) stergere(x);
else printf("%d\n",caut(x)!=G[x%Nmx].end());
}
return 0;
}