Pagini recente » Cod sursa (job #2596336) | Cod sursa (job #2408328) | Cod sursa (job #3253582) | Cod sursa (job #701815) | Cod sursa (job #1676470)
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <vector>
#define pdd pair<double, double>
#define x first
#define y second
#define mkp make_pair
#define nMax 100003
#define pb push_back
#define MOD 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n, Sol;
vector<int> Hash[MOD];
void insert_value(int val)
{
int list=val%MOD;
for(vector<int>::iterator it=Hash[list].begin();it!=Hash[list].end();it++)
if(*it==val)
return;
Hash[list].pb(val);
}
void erase_value(int val)
{
int list=val%MOD;
for(vector<int>::iterator it=Hash[list].begin();it!=Hash[list].end();it++)
if(*it==val)
{
Hash[list].erase(it);
return;
}
}
inline bool search_value(int val)
{
int list=val%MOD;
for(vector<int>::iterator it=Hash[list].begin();it!=Hash[list].end();it++)
if(*it==val)
return 1;
return 0;
}
void solve()
{
int op, a;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>op>>a;
switch(op)
{
case 1:insert_value(a);break;
case 2:erase_value(a);break;
case 3:Sol=search_value(a);fout<<Sol<<'\n';break;
}
}
}
int main()
{
solve();
return 0;
}