Pagini recente » Cod sursa (job #1092225) | Cod sursa (job #1044752) | Cod sursa (job #569401) | Cod sursa (job #2238275) | Cod sursa (job #2895917)
#include <fstream>
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <list<int>> multime(1000003);
int H (int x)
{
return x % 1000003;
}
void adaugare()
{
int parametru; fin >> parametru;
auto i = find(multime[H(parametru)].begin(), multime[H(parametru)].end(), parametru);
if (i == multime[H(parametru)].end())
multime[H(parametru)].push_back(parametru);
}
void stergere()
{
int parametru; fin >> parametru;
auto i = find(multime[H(parametru)].begin(), multime[H(parametru)].end(), parametru);
if (i != multime[H(parametru)].end())
multime[H(parametru)].remove(parametru);
}
void verificare()
{
int parametru; fin >> parametru;
auto i = find(multime[H(parametru)].begin(), multime[H(parametru)].end(), parametru);
if (i != multime[H(parametru)].end())
fout << "1\n";
else
fout << "0\n";
}
int main()
{
int nrOperatii; fin >> nrOperatii;
for (int i = 1; i <= nrOperatii; i++)
{
int operatie; fin >> operatie;
switch (operatie)
{
case 1:
adaugare();
break;
case 2:
stergere();
break;
case 3:
verificare();
break;
}
}
}