Pagini recente » Cod sursa (job #2427885) | Cod sursa (job #2560661) | Cod sursa (job #1553093) | Cod sursa (job #3228771) | Cod sursa (job #2508939)
#include <stdio.h>
#include <vector>
#define P 666013
#define MAXN 1000000
using namespace std;
vector<int> l[P];
int search1( int x, int nl ) {
int i;
i = 0;
while ( i < l[nl].size() && l[nl][i] != x ) {
++i;
}
if ( i >= l[nl].size() ) {
i = -1;
}
return i;
}
int main() {
FILE *fin = fopen( "hashuri.in", "r" );
FILE *fout = fopen( "hashuri.out", "w" );
int n, in, op, x, nl, len, poz, aux;
fscanf( fin, "%d", &n );
for ( in = 0; in < n; ++in ) {
fscanf( fin, "%d%d", &op, &x );
nl = x % P;
switch( op ) {
case 1:
if ( search1( x, nl ) == -1 ) {
l[nl].push_back( x );
}
break;
case 2:
poz = search1( x, nl );
if ( poz != -1 ) {
len = l[nl].size() - 1;
aux = l[nl][poz];
l[nl][poz] = l[nl][len];
l[nl][len] = aux;
l[nl].pop_back();
}
break;
case 3:
if ( search1( x, nl ) != -1 ) {
fprintf( fout, "1\n" );
} else {
fprintf( fout, "0\n" );
}
break;
}
}
fclose( fin );
fclose( fout );
return 0;
}