Pagini recente » Cod sursa (job #2880819) | Cod sursa (job #3120600) | Cod sursa (job #2470010) | Cod sursa (job #2404461) | Cod sursa (job #2987770)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#define ll long long
#define pb push_back
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int MOD = 666013;
const char nl = '\n';
ll n, q, value;
vector<ll> myHash[MOD];
bool hash_search(int x){
int code = x % MOD;
unsigned int i = 0;
while(i < myHash[code].size() && myHash[code][i] != x){
++i;
}
return i < myHash[code].size();
}
void hash_add(ll x){
int code = x % MOD;
unsigned int i = 0;
while(i < myHash[code].size() && myHash[code][i] != x)
++i;
if(i == myHash[code].size())
myHash[code].pb(x);
}
void hash_remove(ll x){
int code = x % MOD;
unsigned int i = 0;
if(hash_search(x)){
while(i < myHash[code].size() && myHash[code][i] != x)
++i;
myHash[code].erase(myHash[code].begin() + i);
}
}
int main()
{
in >> n;
for(int i = 1; i <= n; ++i){
in >> q >> value;
if(q == 1)
hash_add(value);
else if(q == 2)
hash_remove(value);
else if(q == 3){
bool ok = hash_search(value);
out << ok << nl;
}
}
return 0;
}