Pagini recente » Cod sursa (job #1781302) | Cod sursa (job #603548) | Cod sursa (job #1857933) | Cod sursa (job #816860) | Cod sursa (job #449899)
Cod sursa(job #449899)
#include <algorithm>
#include <fstream>
#include <vector>
using namespace std;
typedef bool int01;
typedef char cha08;
typedef int int32;
const cha08 Input[] = "hashuri.in";
const cha08 Output[] = "hashuri.out";
const int32 Dim = 1000001;
const int32 Mod = 1234561;
int32 N;
vector <int32> h[Mod];
void Add( int32 val ) {
int32 m;
vector <int32> :: iterator it;
m = val % Mod;
for( it = h[m].begin(); it != h[m].end(); ++it )
if( *it == val )
return;
h[m].push_back( val );
}
void Del( int32 val ) {
int32 m;
vector <int32> :: iterator it;
m = val % Mod;
for( it = h[m].begin(); it != h[m].end(); ++it )
if( *it == val ) {
h[m].erase( it );
return;
}
}
int01 Que( int32 val ) {
int32 m;
vector <int32> :: iterator it;
m = val % Mod;
for( it = h[m].begin(); it != h[m].end(); ++it )
if( *it == val )
return 1;
return 0;
}
int32 main() {
ifstream fin( Input );
ofstream fout( Output );
int32 tip, val;
fin >> N;
while( N-- ) {
fin >> tip >> val;
switch( tip ) {
case 1:
Add( val );
break;
case 2:
Del( val );
break;
case 3:
fout << Que( val ) << "\n";
break;
}
}
fin.close();
fout.close();
return 0;
}