Pagini recente » Cod sursa (job #388286) | Cod sursa (job #675554) | Cod sursa (job #533523) | Cod sursa (job #587647) | Cod sursa (job #2895156)
#include <fstream>
#include <vector>
using namespace std;
const int hash_size = 54767;
int main()
{
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int nr_operatii;
f >> nr_operatii;
long long tip_operatie, valoare;
vector<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)
hash[hash_value].push_back(valoare);
else if (tip_operatie == 2)
{
for (int index = 0; index < hash[hash_value].size(); index++)
if (hash[hash_value][index] == valoare)
hash[hash_value].erase(hash[hash_value].begin() + index);
}
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;
}
}
}