Pagini recente » Cod sursa (job #975629) | Cod sursa (job #396174) | Cod sursa (job #3236691) | Cod sursa (job #2844750) | Cod sursa (job #659101)
Cod sursa(job #659101)
#include <cstdio>
#include <iostream>
#include <vector>
#define MOD 666013
#define infile "hashuri.in"
#define outfile "hashuri.out"
using namespace std;
vector <int> G[ MOD ];
int N, op, val;
int find( int x, int val )
{
vector <int> :: iterator it;
for( it = G[ x ].begin(); it != G[ x ].end(); ++it)
if( *it == val )
return 1;
return 0;
}
void insert( int val )
{
int x = val % MOD;
if( find( x, val ) )
return;
G[ x ].push_back( val );
}
void erase( int val )
{
int x = val % MOD;
int i, n = G[ x ].size() - 1;
for( i = 0; i <= n; ++i)
if( G[ x ][ i ] == val )
{
G[ x ][ i ] = G[ x ][ n ];
G[ x ].pop_back();
return;
}
}
int main()
{
freopen( infile, "r", stdin );
freopen( outfile, "w", stdout );
scanf("%d", &N);
for( ; N; N--)
{
scanf("%d %d",&op, &val);
if( op == 1 )
insert( val );
if( op == 2 )
erase( val );
if( op == 3 )
printf("%d\n", find( val % MOD, val ));
}
fclose(stdin);
fclose(stdout);
return 0;
}