Pagini recente » Cod sursa (job #1465367) | Cod sursa (job #1374247) | Cod sursa (job #200779) | Cod sursa (job #1573480) | Cod sursa (job #1018884)
#include<fstream>
#include<vector>
#define m 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <int> Hash[m];
int n;
vector<int>::iterator find_val(int x)
{
int val=x%m;
for(unsigned int i=0;i<Hash[val].size();i++)
if(Hash[val][i]==x)
return Hash[val].begin()+i;
return Hash[val].end();
}
void add(int x)
{int val=x%m;
if(find_val(x)==Hash[val].end())
Hash[val].push_back(x);
}
void dell(int x)
{int val=x%m;
vector<int>::iterator it=find_val(x);
if(it!=Hash[val].end())
Hash[val].erase(it);
}
void solve()
{
int x,op;
fin>>n;
while(n--)
{
fin>>op>>x;
if(op==1)add(x);
if(op==2)dell(x);
if(op==3)
fout<<(find_val(x)!=Hash[x%m].end())<<endl;
}
}
int main()
{
solve();
return 0;
}