Pagini recente » Cod sursa (job #1116673) | Cod sursa (job #2831496) | Cod sursa (job #134164) | Cod sursa (job #2892735) | Cod sursa (job #1338867)
#include <fstream>
#include <vector>
#define MOD 666013
#define H(x) x%MOD
using namespace std;
ifstream is ("hashuri.in");
ofstream os ("hashuri.out");
int N, OP, x;
vector <int> Hash[MOD+1];
void Insert(int v);
void Erase(int v);
bool Exists(int v);
int main()
{
for (is >> N; N; --N)
{
is >> OP >> x;
if (OP == 1)
Insert(x);
if (OP == 2)
Erase(x);
if (OP == 3)
os << Exists(x) << '\n';
}
is.close();
os.close();
}
void Insert(int v)
{
auto it = Hash[H(v)].begin();
for (; it != Hash[H(v)].end(); ++it)
if (*it == v)
return;
Hash[H(v)].push_back(v);
};
void Erase(int v)
{
auto it = Hash[H(v)].begin();
for (; it != Hash[H(v)].end(); ++it)
if (*it == v)
{
Hash[H(v)].erase(it);
return;
}
};
bool Exists(int v)
{
auto it = Hash[H(v)].begin();
for (; it != Hash[H(v)].end(); ++it)
if (*it == v)
return 1;
return 0;
};