Pagini recente » Cod sursa (job #647428) | Cod sursa (job #224080) | Cod sursa (job #1683712) | Cod sursa (job #1286117) | Cod sursa (job #2659549)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("hashuri.in");
ofstream out ("hashuri.out");
class HashMap {
private:
const static int MOD = 666013;
vector <int> table[MOD];
public:
bool find(int elem) {
int H = elem % MOD;
for(vector <int> :: iterator it = table[H].begin(); it != table[H].end(); it++) {
if(*it == elem)
return true;
}
return false;
}
void insert(int elem) {
int H = elem % MOD;
if(!find(elem))
table[H].push_back(elem);
}
void erase(int elem) {
int H = elem % MOD;
for(vector <int> :: iterator it = table[H].begin(); it != table[H].end(); it++) {
if(*it == elem) {
table[H].erase(it);
return;
}
}
}
};
HashMap hash;
int main() {
int n, i, nr, op;
in >> n;
for(i = 0; i < n; i++) {
in >> op >> nr;
if(op == 1)
hash.insert(nr);
else if(op == 2)
hash.erase(nr);
else
out << hash.find(nr) << '\n';
}
return 0;
}