Pagini recente » Cod sursa (job #2705774) | Cod sursa (job #3030026) | Cod sursa (job #2522303) | Cod sursa (job #1142262) | Cod sursa (job #905009)
Cod sursa(job #905009)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 666013
vector <int> G[MOD];
vector<int>::iterator find_x (int x) {
vector<int>::iterator it;
int list = x % MOD;
for (it = G[list].begin(); it != G[list].end(); ++it)
if (*it == x) return it;
return G[list].end();
}
void insert_x (int x) {
int list = x % MOD;
if (find_x(x) == G[list].end())
G[list].push_back(x);
}
void delete_x (int x) {
int list = x % MOD;
vector<int>::iterator it;
it = find_x(x);
if (it != G[list].end())
G[list].erase(it);
}
int main() {
freopen ("hashuri.in", "r", stdin);
freopen ("hashuri.out", "w", stdout);
int N, opt, x, i;
scanf ("%d", &N);
for (i = 1; i <= N; ++i) {
scanf ("%d %d", &opt, &x);
if (opt == 1) insert_x (x);
if (opt == 2) delete_x (x);
if (opt == 3) printf ("%d\n", find_x(x) != G[x % MOD].end());
}
return 0;
}