Pagini recente » Cod sursa (job #1337593) | Cod sursa (job #1545299) | Cod sursa (job #320672) | Cod sursa (job #1715149) | Cod sursa (job #2895120)
#include <fstream>
#include <list>
#include <vector>
using namespace std;
const int hash_size = 98317;
int main()
{
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int nr_operatii;
f >> nr_operatii;
long long tip_operatie, valoare;
vector<list<int>> hash(hash_size);
int hash_value;
for (int i = 0; i < nr_operatii; i++)
{
f >> tip_operatie >> valoare;
hash_value = valoare % hash_size;
if (tip_operatie == 1)
{
for (auto const& iterator : hash[hash_value])
if (iterator == valoare)
break;
hash[hash_value].push_back(valoare);
}
else if (tip_operatie == 2)
{
for (list<int>::iterator it = hash[hash_value].begin(); it != hash[hash_value].end() ; it++)
if (*it == valoare)
{
hash[hash_value].erase(it);
break;
}
}
else if (tip_operatie == 3)
{
int found = 0;
for (auto const& iterator : hash[hash_value])
if (iterator == valoare)
{
g << 1 << endl;
found = 1;
break;
}
if (!found)
g << 0 << endl;
}
}
}