Pagini recente » Cod sursa (job #2152594) | Cod sursa (job #2749784) | Cod sursa (job #2478561) | Cod sursa (job #527164) | Cod sursa (job #2385204)
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013 //nr prim
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
vector<int> a[MOD];
int hashme(int x)
{
return x%MOD;
}
vector<int>::iterator query(int x)
{
int h=hashme(x);
for (vector<int>::iterator it=a[h].begin();it!=a[h].end();++it)
if (*it==x)
return it;
return a[h].end();
}
void insert(int x)
{
if (query(x)==a[hashme(x)].end())
a[hashme(x)].push_back(x);
}
void drop(int x)
{
vector<int>::iterator it=query(x);
if (it!=a[hashme(x)].end())
a[hashme(x)].erase(it);
}
int main()
{
int m;
fin>>m;
for (int v=0;v<m;v++)
{
char op;
int x;
fin>>op>>x;
switch (op) {
case '1':
insert(x);
break;
case '2':
drop(x);
break;
case '3':
{
if (query(x)!=a[hashme(x)].end())
fout<<1<<'\n';
else
fout<<0<<'\n';
break;
}
default:
break;
}
}
return 0;
}