Pagini recente » Cod sursa (job #637274) | Cod sursa (job #611601) | Cod sursa (job #1743765) | Cod sursa (job #342561) | Cod sursa (job #951286)
Cod sursa(job #951286)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MOD 24631
vector <int> HashTable[MOD];
int N;
inline vector<int>::iterator cauta( int value ){
vector<int>::iterator it;
for ( it = HashTable[value % MOD].begin(); it != HashTable[value % MOD].end(); ++it )
if ( *it == value )
return it;
return HashTable[value % MOD].end();
}
inline void insereaza( int value ){
if ( cauta( value ) == HashTable[value % MOD].end() )
HashTable[value % MOD].push_back( value );
}
inline void sterge( int value ){
vector<int>::iterator it = cauta( value );
if ( it != HashTable[value % MOD].end() )
HashTable[value % MOD].erase(it);
}
int main(){
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
for ( scanf("%d", &N) ; N; --N ){
int op, x;
scanf("%d %d", &op, &x);
if ( op == 1 )
insereaza(x);
if (op == 2)
sterge(x);
if ( op == 3 )
printf("%d\n", cauta(x) != HashTable[x % MOD].end());
}
return 0;
}