Pagini recente » Cod sursa (job #1202249) | Cod sursa (job #1133390) | Cod sursa (job #1997235) | Cod sursa (job #142461) | Cod sursa (job #1480861)
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int MOD = 699967;
vector <int> v[MOD];
int N;
int H(int x)
{
return x % MOD;
}
void adauga(int x)
{
int p = H( x );
bool gasit = false;
for(vector <int>:: iterator it = v[ p ].begin(); it != v[ p ].end(); it++)
if( *it == x )
{
gasit = true;
break;
}
if( gasit == false )
v[ p ].push_back( x );
}
void sterge(int x)
{
int p = H( x );
for(vector <int>::iterator it = v[ p ].begin(); it != v[ p ].end(); it++)
if( *it == x )
{
v[ p ].erase( it );
return;
}
}
bool cauta(int x)
{
int p = H( x );
for(vector <int>:: iterator it = v[ p ].begin(); it != v[ p ].end(); it++)
if( *it == x )
return true;
return false;
}
int main()
{
in>>N;
int cod, x;
for(int i = 1; i <= N; i++)
{
in>>cod>>x;
if( cod == 1 )
{
adauga( x );
continue;
}
if( cod == 2 )
{
sterge( x );
continue;
}
if( cod == 3 )
{
if( cauta( x ) == true )
out<<1<<endl;
else out<<0<<endl;
}
}
return 0;
}