Pagini recente » Cod sursa (job #437723) | Cod sursa (job #2366152) | Cod sursa (job #1912399) | Cod sursa (job #2748193) | Cod sursa (job #2745805)
#include <iostream>
#include <cstring>
#include <vector>
#include <fstream>
using namespace std;
int numar_prim = 666013;
void operatie_1( vector < vector < int > > &tabel_hash, int numar ){
int ok = 0;
for( int i = 0; i < tabel_hash[ numar%numar_prim ].size() && ok == 0; i++ ){
if( tabel_hash[numar%numar_prim][i] == numar ) ok = 1;
}
if( ok == 0 ) tabel_hash[numar%numar_prim].push_back( numar );
}
void operatie_2( vector < vector < int > > &tabel_hash, int numar ){
int ok = 0, i;
for( i = 0; i < tabel_hash[ numar%numar_prim ].size() && ok == 0; i++ ){
if( tabel_hash[numar%numar_prim][i] == numar ) ok = 1;
}
if( ok == 1 ){
tabel_hash[numar%numar_prim][i] = tabel_hash[numar%numar_prim][tabel_hash[numar%numar_prim].size()-1];
tabel_hash[numar%numar_prim].pop_back();
}
}
int operatie_3( vector < vector < int > > &tabel_hash, int numar ){
int ok = 0;
for( int i = 0; i < tabel_hash[ numar%numar_prim ].size() && ok == 0; i++ ){
if( tabel_hash[numar%numar_prim][i] == numar ) ok = 1;
}
return ok;
}
int main(){
vector < vector < int > > tabel_hash;
ifstream fin( "hashuri.in" );
ofstream fout( "hashuri.out" );
for( int i = 0; i < numar_prim; i++ ){
vector < int > v;
tabel_hash.push_back(v);
}
int n;
fin >> n;
for( int i = 0; i < n; i++ ){
int operatie, numar;
fin >> operatie >> numar;
if( operatie == 1 ) operatie_1( tabel_hash, numar );
if( operatie == 2 ) operatie_2( tabel_hash, numar );
if( operatie == 3 ) fout << operatie_3( tabel_hash, numar ) << endl;
}
}