Pagini recente » Cod sursa (job #2687887) | Cod sursa (job #1405151) | Cod sursa (job #1220403) | Cod sursa (job #3281270) | Cod sursa (job #641712)
Cod sursa(job #641712)
#include <cstdlib>
#include <iostream>
#include<vector>
#define prim 666013
using namespace std;
int n;
vector<int> v[prim];
inline vector<int>::iterator cautare(int val)
{
int list = val % prim;
vector<int>::iterator it;
for (it = v[list].begin(); it != v[list].end(); ++it)
if (*it == val)
return it;
return v[list].end();
}
int caut( int x, int val)
{
}
void sterg(int val)
{int list=val % prim;
vector<int>::iterator it=cautare(val);
if(it!=v[list].end())
v[list].erase(it);
}
void adaug(int val)
{int list=val&prim;
if(cautare(val)==v[list].end());
}
int main(int argc, char *argv[])
{int operatie,valoare;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
scanf("%d %d",&operatie,&valoare);
if (operatie==1) { adaug(valoare);
continue;
}
if (operatie==2) { sterg(valoare);
continue;
}
printf("%d\n",cautare(valoare)!=v[valoare % prim].end());
}
system("PAUSE");
return EXIT_SUCCESS;
}