Pagini recente » Cod sursa (job #739268) | Cod sursa (job #583995) | Cod sursa (job #3180328) | Cod sursa (job #1981715) | Cod sursa (job #1049296)
#include <cstdio>
#include <vector>
#define M 50000
using namespace std;
vector<int> h[M];
int cautare(int x)
{
int k=x%M;
for (int i=0;i<h[k].size();++i)
if (h[k][i]==x) return i;
return -1;
}
void inserare(int x)
{
int k=x%M;
if (cautare(x)==-1) h[k].push_back(x);
}
void stergere(int x)
{
int poz=cautare(x),k=x%M;
if (poz>=0) h[k].erase(h[k].begin()+poz);
}
int main()
{
int op,x,n;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for (int i=0;i<n;++i)
{
scanf("%d %d",&op,&x);
if (op==1) inserare(x);
if (op==2) stergere(x);
if (op==3) printf("%d\n",cautare(x)>=0?1:0);
}
return 0;
}