Pagini recente » Cod sursa (job #739477) | Cod sursa (job #194265) | Cod sursa (job #2287812) | Cod sursa (job #1977482) | Cod sursa (job #1382815)
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n, op, val;
vector < int > H[MOD];
bool hFind(int val);
void hInsert(int val)
{
int hKey = val % MOD;
if (!hFind(val))
H[hKey].push_back(val);
}
void hDelete(int val)
{
int hKey = val % MOD;
for (vector<int>::iterator it = H[hKey].begin(); it != H[hKey].end(); it++) {
if (*it == val) {
H[hKey].erase(it);
break;
}
}
}
bool hFind(int val)
{
int hKey = val % MOD;
for (vector<int>::iterator it = H[hKey].begin(); it != H[hKey].end(); it++)
if (*it == val)
return true;
return false;
}
int main()
{
f >> n;
for (int i = 1; i <= n; i++) {
f >> op >> val;
if (op == 1)
hInsert(val);
else if (op == 2)
hDelete(val);
else
g << hFind(val) << "\n";
}
return 0;
}