Pagini recente » Cod sursa (job #1394339) | Cod sursa (job #1678948) | Cod sursa (job #1869253) | Cod sursa (job #2928617) | Cod sursa (job #1916679)
#include <fstream>
#include <iostream>
#include <vector>
#include <algorithm>
#define MOD 666013
using namespace std;
vector<int> H[MOD];
void adauga(int x) {
int ind = x % MOD;
if(find(H[ind].begin(), H[ind].end(), x) == H[ind].end())
H[ind].push_back(x);
}
void elimina(int x) {
bool found = 0; int ind = x % MOD;
for(int i = 0; i < H[ind].size(); i++)
if(H[ind][i] == x)
found = true;
else
H[ind][i - 1] = H[ind][i];
if(found) H[ind].pop_back();
}
bool exista(int x) {
int ind = x % MOD;
if(find(H[ind].begin(), H[ind].end(), x) == H[ind].end())
return 0;
return 1;
}
int main() {
freopen("hashuri.in","rt", stdin);
freopen("hashuri.out", "wt", stdout);
int N, op, x;
scanf("%d", &N);
while(N--) {
scanf("%d%d", &op, &x);
if(op == 1) adauga(x);
else if(op == 2) elimina(x);
else cout << exista(x) << '\n';
}
}