Pagini recente » Cod sursa (job #27949) | Cod sursa (job #2020773) | Cod sursa (job #3345370) | Cod sursa (job #987208) | Cod sursa (job #3324587)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = (1 << 17) - 1;
vector<int> H[MOD + 1];
void insereaza(int x) {
int r = x & MOD;
for(int i = 0; i < (int)H[r].size(); i++) {
if(H[r][i] == x) {
return;
}
}
H[r].push_back(x);
}
void sterg(int x) {
int r = x & MOD;
for(int i = 0; i < (int)H[r].size(); i++) {
if(H[r][i] == x) {
H[r].erase(H[r].begin() + i);
return;
}
}
}
bool exista(int x) {
int r = x & MOD;
for(int i = 0; i < (int)H[r].size(); i++) {
if(H[r][i] == x) {
return 1;
}
}
return 0;
}
int main()
{
int n;
fin >> n;
for(int i = 1; i <= n; ++i) {
int op, x;
fin >> op >> x;
if(op == 1) {
insereaza(x);
}
else if(op == 2) {
sterg(x);
}
else {
fout << exista(x) << '\n';
}
}
return 0;
}