Pagini recente » Cod sursa (job #1650758) | Cod sursa (job #978447) | Cod sursa (job #613864) | Cod sursa (job #2271485) | Cod sursa (job #2746772)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("hashuri.in");
ofstream out("hashuri.out");
int n,k,x;
int p = 666013;
vector <int> Hash[666013];
int find_elem(int x)
{
int i;
int h = x % p;
for(i=0;i<Hash[h].size();i++)
if(Hash[h][i] == x)
return 1;
return 0;
}
void add_elem(int x)
{
int h = x % p;
if(find_elem(x) == 0)
Hash[h].push_back(x);
}
void delete_elem(int x)
{
int h = x % p;
for(int i=0;i<Hash[h].size();i++)
if(Hash[h][i] == x)
{
Hash[h][i] = Hash[h][Hash[h].size()-1];
Hash[h].pop_back();
break;
}
}
int main()
{
int i;
in>>n;
for(i=1;i<=n;i++)
{
in>>k>>x;
if(k == 1)
add_elem(x);
else if(k == 2)
delete_elem(x);
else if(k == 3)
out<<find_elem(x)<<"\n";
}
return 0;
}