Pagini recente » Cod sursa (job #1114302) | Cod sursa (job #1380232) | Cod sursa (job #2294847) | Cod sursa (job #442836) | Cod sursa (job #1208792)
#include <iostream>
#include <cstdio>
#include <vector>
#define mod 666013
using namespace std;
vector<int> h[mod];
vector<int>::iterator cauta(int x){
int lista = x % mod;
vector<int>::iterator it;
for(it = h[lista].begin(); it != h[lista].end(); it++)
if(*it == x)
return it;
return h[lista].end();
}
void adauga(int x){
int lista = x % mod;
if(cauta(x) == h[lista].end())
h[lista].push_back(x);
}
void sterge(int x){
int lista = x % mod;
vector<int>::iterator it = cauta(x);
if(it != h[lista].end())
h[lista].erase(it);
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int n;
scanf("%d", &n);
int op, x;
for(int i = 1; i <= n; ++i){
scanf("%d %d", &op, &x);
if(op == 1){
adauga(x);
continue;
}
if(op == 2){
sterge(x);
continue;
}
printf("%d\n", cauta(x) != h[x % mod].end());
}
return 0;
}