Pagini recente » Cod sursa (job #1852487) | Cod sursa (job #1400440) | Cod sursa (job #2400064) | Cod sursa (job #133622) | Cod sursa (job #582674)
Cod sursa(job #582674)
#include <cstdio>
#include <cstring>
#include <fstream>
#include <vector>
#define Nmx 66700
using namespace std;
int n;
vector<int> G[Nmx];
ifstream fin("hashuri.in");
vector<int>::iterator caut(int x)
{
int X=x%Nmx;
vector<int>::iterator it;
for(it=G[X].begin();it!=G[X].end();++it)
if(*it==x)
return it;
return G[X].end();
}
void sterge(int x)
{
vector<int>::iterator it=caut(x);
if(it!=G[x%Nmx].end())
G[x%Nmx].erase(it);
}
void insereaza(int x)
{
vector<int>::iterator it=caut(x);
if(it==G[x%Nmx].end())
G[x%Nmx].push_back(x);
}
void read_and_solve()
{
fin>>n;
int type,x;
for(int i=1;i<=n;++i)
{
fin>>type>>x;
if(type==1)
insereaza(x);
else if(type==2)
sterge(x);
else printf("%d\n",caut(x)!=G[x%Nmx].end());
}
}
int main()
{
freopen("hashuri.out","w",stdout);
read_and_solve();
return 0;
}