Pagini recente » Cod sursa (job #2904573) | Cod sursa (job #2144068) | Cod sursa (job #1240037) | Cod sursa (job #838321) | Cod sursa (job #1047280)
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define prime 666013
vector<int>H[prime];
int cauta(vector<int>H[prime],int val)
{
int rest=val%prime;
for (int i=0;i<H[rest].size();i++)
if (H[rest][i]==val)
return i;
return -1;
}
int este(vector<int>H[prime],int val)
{
if (cauta(H,val)==-1)
return 0;
else
return 1;
}
void inserare(vector<int>H[prime],int val)
{
int rest=val%prime;
if (cauta(H,val)>=0)
return;
H[rest].push_back(val);
}
void stergere(vector<int>H[prime],int val)
{
int rest=val%prime;
int cine=cauta(H,val);
if (cine==-1)
return;
H[rest][cine]=H[rest].back();
H[rest].pop_back();
}
int main()
{
int i,x,n,op;
fin>>n;
for (i=1;i<=n;i++)
{
fin>>op>>x;
if (op==1)
inserare(H,x);
if (op==2)
stergere(H,x);
if (op==3)
fout<<este(H,x)<<endl;
}
return 0;
}