Pagini recente » Cod sursa (job #232046) | Cod sursa (job #180798) | Cod sursa (job #1175790) | Cod sursa (job #2858238) | Cod sursa (job #2357863)
#include <bits/stdc++.h>
using namespace std;
const int MOD = 666013;
int N, tip, x;
vector <int> Hash[MOD];
vector <int>::iterator find_value(int x){
int idx = x % MOD;
for(auto it = Hash[idx].begin(); it != Hash[idx].end(); ++it){
if((*it) == x)
return it;
}
return Hash[idx].end();
}
int insert_value(int x){
int idx = x % MOD;
if(find_value(x) == Hash[idx].end())
Hash[idx].push_back(x);
}
int check_value(int x){
return find_value(x) != Hash[x % MOD].end();
}
int delete_value(int x){
int idx = x % MOD;
for(auto it = Hash[idx].begin(); it != Hash[idx].end(); ++it){
if((*it) == x){
Hash[idx].erase(it);
break;
}
}
}
int main(){
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &N);
for(int i = 0; i < N; i++){
scanf("%d%d", &tip, &x);
if(tip==1)
insert_value(x);
else if(tip==2)
delete_value(x);
else
printf("%d\n", check_value(x));
}
return 0;
}