Pagini recente » Cod sursa (job #220310) | Cod sursa (job #51916) | Cod sursa (job #1373667) | Cod sursa (job #2783494) | Cod sursa (job #2624236)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define _ACCESS data[hash(x)]
using namespace std;
class Hashmap {
private:
static int prime;
vector<vector<int>> data;
public:
Hashmap() {
for (int i = 0; i < prime; i++) {
data.push_back(vector<int>());
}
}
void insert(int x) {
if (!exists(x)) {
_ACCESS.push_back(x);
}
}
void remove(int x) {
if (exists(x)) {
_ACCESS.erase(find(_ACCESS.begin(), _ACCESS.end(), x));
}
}
bool exists(int x) {
return find(_ACCESS.begin(), _ACCESS.end(), x) != _ACCESS.end();
}
static int hash(int key) {
return key % prime;
}
};
int Hashmap::prime = 666013;
int main()
{
//fstream f("input.txt", ios::in);
//fstream g("output.txt", ios::out);
int n;
cin >> n;
Hashmap h;
for (int i = 0; i < n; i++) {
int op, x;
cin >> op >> x;
switch (op) {
case 1:
h.insert(x);
break;
case 2:
h.remove(x);
break;
case 3:
cout << h.exists(x) << "\n";
break;
}
}
//f.close();
//g.close();
}