Pagini recente » Cod sursa (job #1474012) | Cod sursa (job #691157) | Cod sursa (job #419510) | Cod sursa (job #940696) | Cod sursa (job #2205471)
#include <iostream>
#include <vector>
#include <fstream>
#define mod 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int> V[mod];
int operations;
int H(int x)
{
return x % mod;
}
vector<int>::iterator findVal(int x)
{
vector <int>::iterator it;
int ind = H(x);
for (it = V[ind].begin(); it != V[ind].end(); ++it)
if (*it == x)
return it;
return V[ind].end();
}
void add(int key)
{
int ind = H(key);
if (findVal(key) == V[ind].end())
V[ind].push_back(key);
}
void del(int key)
{
int ind = H(key);
vector<int>::iterator it = findVal(key);
if (it != V[ind].end())
V[ind].erase(it);
}
void computeOperation(int op, int key)
{
if (op == 1)
add(key);
else if (op == 2)
del(key);
else
if (findVal(key) != V[key % mod].end())
g<<1<<endl;
else
g<<0<<endl;
}
int main()
{
f>>operations;
int op, key;
for (int i = 0; i < operations; ++i)
{
f>>op>>key;
computeOperation(op, key);
}
return 0;
}