Pagini recente » Cod sursa (job #106251) | Cod sursa (job #563858) | Cod sursa (job #2539320) | Cod sursa (job #1132638) | Cod sursa (job #2661877)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 1777
vector<int> myHash[MOD];
int cauta( int x ) {
int cod = x % MOD;
unsigned int i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
return i < myHash[cod].size();
}
void adauga( int x ) {
int cod = x % MOD;
unsigned int i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
if( i == myHash[cod].size() )
myHash[cod].push_back( x );
}
void sterge( int x ) {
int cod = x % MOD;
unsigned int i = 0;
while( i < myHash[cod].size() && myHash[cod][i] != x )
i++;
if( i < myHash[cod].size() )
myHash[cod].erase( myHash[cod].begin() + i );
}
int main() {
FILE *fin, *fout;
int n, i, op, x;
fin = fopen( "hashuri.in", "r" );
fout = fopen( "hashuri.out", "w" );
fscanf( fin, "%d", &n );
for( i = 0; i < n; i++ ) {
fscanf( fin, "%d%d", &op, &x );
if( op == 1 )
adauga( x );
else if( op == 2 )
sterge( x );
else
fprintf( fout, "%d\n", cauta( x ) );
}
fclose( fout );
fclose( fin );
return 0;
}