Pagini recente » Cod sursa (job #539537) | Cod sursa (job #1707654) | Cod sursa (job #378477) | Cod sursa (job #859003) | Cod sursa (job #342126)
Cod sursa(job #342126)
#include<stdio.h>
#include<vector>
using namespace std;
const int m=666013;
int n;
vector <int> v[m];
vector<int>::iterator p;
vector<int>::iterator cautare(int x)
{
for(vector <int> :: iterator it=v[x%m].begin();it!=v[x%m].end();it++)
if(x==*it)
return it;
return v[x%m].end();
}
void adaugare(int x)
{
p=cautare(x);
if(p==v[x%m].end())
v[x%m].push_back(x);
}
void eliminare(int x)
{
p=cautare(x);
if(p!=v[x%m].end())
v[x%m].erase(p);
}
void afisare(int x)
{
p=cautare(x);
if(p!=v[x%m].end())
printf("1\n");
else
printf("0\n");
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
int i,x,o;
for(i=1;i<=n;i++)
{
scanf("%d%d",&o,&x);
if(o==1)
adaugare(x);
if(o==2)
eliminare(x);
if(o==3)
afisare(x);
}
return 0;
}