Pagini recente » Cod sursa (job #717937) | Cod sursa (job #1222562) | Cod sursa (job #2804692) | Cod sursa (job #1219156) | Cod sursa (job #2745816)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
#define prime 500009
int n, op, x;
vector<int> h[prime];
void operatia1(int x); //adauga x
void operatia2(int x); //sterge x
int operatia3(int x); //cauta x
void operatia3_afisare(int x);
int main()
{
in>>n;
for (int i=0; i<n; i++)
{
in>>op>>x;
if (op==1)
operatia1(x);
else if(op==2)
operatia2(x);
else operatia3_afisare(x);
}
in.close();
out.close();
return 0;
}
int operatia3(int x)
{
int list = x % prime;
for(int i = 0; i < h[list].size(); i++)
if( h[list][i] == x )
return 1;
return 0;
}
void operatia1(int x)
{
int list = x % prime;
if(operatia3(x)==0)
h[list].push_back(x);
else
return;
}
void operatia2(int x)
{
int list = x % prime;
for(int i = 0; i < h[list].size(); i++)
{
if (h[list][i]==x)
h[list].erase(h[list].begin()+i);
}
}
void operatia3_afisare(int x)
{
if (operatia3(x)==1)
out<<1<<endl;
else out<<0<<endl;
}