Pagini recente » Cod sursa (job #3255261) | Istoria paginii runda/oji201756 | Cod sursa (job #1590232) | Cod sursa (job #1626377) | Cod sursa (job #1371492)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013
using namespace std;
int n;
vector <int> H[mod];
void add(int value) {
int x = value % mod;
bool ok = false;
for (int i = 0; i < H[x].size(); i++)
if (H[x][i] == value) {
ok = true;
break;
}
if (!ok)
H[x].push_back(value);
}
void sterge(int value) {
int x = value % mod;
for (vector <int> ::iterator it = H[x].begin(); it != H[x].end(); ++it)
if (*it == value) {
H[x].erase(it);
break;
}
}
bool query(int value) {
int x = value % mod;
for (int i = 0; i < H[x].size(); i++)
if (H[x][i] == value)
return 1;
return 0;
}
int main() {
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
fin >> n;
for (int i = 1; i <= n; i++) {
int op, x;
fin >> op >> x;
switch (op) {
case 1:
add(x);
break;
case 2:
sterge(x);
break;
case 3:
fout << query(x) << "\n";
break;
}
}
fin.close();
fout.close();
return 0;
}