Pagini recente » Cod sursa (job #403281) | Cod sursa (job #2596391) | Cod sursa (job #2416230) | Cod sursa (job #577605) | Cod sursa (job #1334373)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
#define nmax 1000010
#define mod 1000003
int n,tip,x;
vector<int> h[nmax];
vector<int>::iterator cauta(int nr)
{
int nrmod;
vector<int>::iterator it;
nrmod=nr%mod;
for (it=h[nrmod].begin();it!=h[nrmod].end();it++)
if (*it==nr)
return it;
return it;
}
void adauga(int nr)
{
int nrmod;
vector<int>::iterator it;
nrmod=nr%mod;
it=cauta(nr);
if (it==h[nrmod].end())
h[nrmod].push_back(nr);
}
void sterge(int nr)
{
int nrmod;
vector<int>::iterator it;
nrmod=nr%mod;
it=cauta(nr);
if (it!=h[nrmod].end())
h[nrmod].erase(it);
}
int main()
{
int i,j,nrmod;
vector<int>::iterator it;
cin>>n;
for (i=1;i<=n;i++)
{
cin>>tip>>x;
if (tip==1)
adauga(x);
if (tip==2)
sterge(x);
if (tip==3)
{
nrmod=x%mod;
it=cauta(x);
if (it!=h[nrmod].end())
cout<<1;
else cout<<0;
cout<<'\n';
}
}
}