Pagini recente » Cod sursa (job #3256740) | Cod sursa (job #549026) | Cod sursa (job #1822255) | Cod sursa (job #1917476) | Cod sursa (job #2745829)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
#define prime 500009
unsigned 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
int main()
{
in>>n;
for (unsigned int i=0; i<n; i++)
{
in>>op>>x;
if (op==1)
operatia1(x);
else if(op==2)
operatia2(x);
else out<<operatia3(x)<<"\n";
}
in.close();
out.close();
return 0;
}
int operatia3(int x)
{
int list = x % prime;
for(unsigned 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(unsigned int i = 0; i < h[list].size(); i++)
{
if (h[list][i]==x)
{
h[list].erase(h[list].begin()+i);
break;
}
}
}