Pagini recente » Cod sursa (job #1293570) | Cod sursa (job #1854489) | Istoria paginii utilizator/ppetre | Istoria paginii utilizator/andy_vamos | Cod sursa (job #607344)
Cod sursa(job #607344)
#include <fstream.h>
#include <iostream.h>
#include <vector>
#define M 45053
using namespace std;
vector<int> H[M];
int P=45053;
vector<int>::iterator hCheck(int x);
int main()
{
int n,i,op,x;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &n);
for(i=1;i<=n;i++)
{
scanf("%d %d", &op, &x);
if(op==1)
{
if(hCheck(x)==H[x/P].end())
H[x/P].push_back(x);
continue;
}
if(op==2)
{
vector<int>::iterator c=hCheck(x);
if(c!=H[x/P].end())
H[x/P].erase(c);
continue;
}
printf("%d\n", hCheck(x)!=H[x/P].end());
}
return 0;
}
vector<int>::iterator hCheck(int x)
{
vector<int>::iterator c;
for(c=H[x/P].begin();c!=H[x/P].end();++c)
if(*c==x)
return c;
return H[x/P].end();
}