Pagini recente » Cod sursa (job #697850) | Cod sursa (job #2425692) | Cod sursa (job #3039869) | Cod sursa (job #2390936) | Cod sursa (job #2661314)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 666013
vector<int> myHash[MOD];
bool 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;
fin = fopen( "hashuri.in", "r" );
fout = fopen( "hashuri.out", "w" );
int c, a, n, i;
fscanf( fin, "%d", &n );
for( i = 0; i < n; i++ ) {
fscanf( fin, "%d", &c );
fscanf( fin, "%d", &a );
if( c == 1 )
adauga( a );
else if( c == 2 )
sterge( a );
else fprintf( fout, "%d\n", cauta(a) );
}
return 0;
}