Pagini recente » Cod sursa (job #221671) | Cod sursa (job #760733) | Cod sursa (job #2302414) | Cod sursa (job #2362913) | Cod sursa (job #629314)
Cod sursa(job #629314)
#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;
if( ! find( x, val ) )
return;
int i, n = G[ x ].size();
for( i = 0; i < n; ++i)
if( G[ x ][ i ] == val )
{
G[ x ][ i ] = G[ x ][ n ];
G[ x ].pop_back();
}
}
int main()
{
freopen( infile, "r", stdin );
freopen( outfile, "w", stdout );
cin >> N;
for( ; N; N--)
{
cin >> op >> val;
if( op == 1 )
insert( val );
if( op == 2 )
erase( val );
if( op == 3 )
cout << find( val % MOD, val ) << "\n";
}
fclose(stdin);
fclose(stdout);
return 0;
}