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