Pagini recente » Cod sursa (job #1564529) | Cod sursa (job #2030873) | Cod sursa (job #392812) | Cod sursa (job #248151) | Cod sursa (job #1113265)
#include <cstdio>
#include <vector>
#define MOD 3496217
using namespace std;
vector <int> H[MOD+1];
inline int find( int x ) {
int p = x % MOD;
for( int i = 0 ; i < H[p].size() ; ++i )
if( H[p][i] == x )
return i;
return -1;
}
int main () {
FILE *f, *g;
f = fopen( "hashuri.in", "r" );
g = fopen( "hashuri.out", "w" );
int n, op, x, p, aux, poz;
fscanf( f, "%d", &n );
for( int i = 0 ; i < n ; ++i ) {
fscanf( f, "%d%d", &op, &x );
switch(op) {
case 1:
H[x%MOD].push_back(x);
break;
case 2:
p = find( x );
poz = x % MOD;
if( p != -1 ) {
aux = H[poz][p];
H[poz][p] = H[poz][H[poz].size()];
H[poz][H[poz].size()] = aux;
H[poz].pop_back();
}
break;
case 3:
p = find(x);
if( p != -1 )
fprintf(g, "1\n" );
else
fprintf( g, "0\n" );
}
}
fclose( f );
fclose( g );
return 0;
}