Pagini recente » Cod sursa (job #2926796) | Cod sursa (job #1694727) | Cod sursa (job #3242025) | Cod sursa (job #159720) | Cod sursa (job #1382758)
#include <fstream>
#include <vector>
using namespace std;
#define MOD 700277
ifstream is("hashuri.in");
ofstream os("hashuri.out");
int n;
int op, x;
vector<int> H[MOD];
void Insert(int x);
void Delete(int x);
vector<int>::iterator Find(int x);
int main()
{
is >> n;
for ( int i = 1; i <= n; ++i )
{
is >> op >> x;
switch(op)
{
case 1 :
Insert(x);
break;
case 2 :
Delete(x);
break;
case 3 :
os << ( Find(x) != H[x % MOD].end() ) << '\n';
break;
}
}
is.close();
os.close();
return 0;
}
void Insert(int x)
{
int list = x % MOD;
if ( Find(x) == H[list].end() )
H[list].push_back(x);
}
void Delete(int x)
{
int list = x % MOD;
vector<int>::iterator it = Find(x);
if ( it != H[list].end() )
H[list].erase(it);
}
vector<int>::iterator Find(int x)
{
int list = x % MOD;
for ( vector<int>::iterator it = H[list].begin(); it != H[list].end(); ++it )
if ( *it == x )
return it;
return H[list].end();
}