Pagini recente » Cod sursa (job #234650) | Cod sursa (job #1583824)
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
int n;
vector<int> _hash[MOD];
vector<int>::iterator find(int x)
{
int key = x%MOD;
vector<int>::iterator it;
for(it = _hash[key].begin();it<_hash[key].end();it++)
if(*it==x)
return it;
return _hash[key].end();
}
void add(int x)
{
int key = x%MOD;
if(find(x)==_hash[key].end())
_hash[key].push_back(x);
}
void erase(int x)
{
int key = x%MOD;
vector<int>::iterator it;
it = find(x);
if(it!=_hash[key].end())
_hash[key].erase(it);
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
cin>>n;
int op,x;
for(int i=1;i<=n;i++)
{
cin>>op>>x;
if(op==1)
{
add(x);
continue;
}
if(op==2)
{
erase(x);
continue;
}
if(op==3)
cout<<((find(x)==_hash[x%MOD].end()) ? 0:1)<<endl;
}
return 0;
}