Pagini recente » Cod sursa (job #2416367) | Cod sursa (job #1040357) | Cod sursa (job #1616825) | Cod sursa (job #3225697) | Cod sursa (job #1047288)
#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;
int s=H[rest].size(),i;
for (i=0;i<s;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;
}