Pagini recente » Cod sursa (job #2186674) | Cod sursa (job #2521005) | Cod sursa (job #2355172) | Cod sursa (job #2662298) | Cod sursa (job #2740985)
#include <iostream>
#include <fstream>
#include <set>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int nrOperatii, operatie, mod = 666013;
vector<int> myHash[666013];
int insert(int element, int key) {
for (int i : myHash[key])
if (i == element)
return 0;
myHash[key].push_back(element);
}
int pop(int element, int key) {
for (int i = 0; i < myHash[key].size(); i++)
if (myHash[key][i] == element)
myHash[key].erase(myHash[key].begin() + i);
}
int find(int element, int key) {
for (int i : myHash[key])
if (i == element) return 1;
return 0;
}
int main() {
int key, element;
fin >> nrOperatii;
for (int i = 0; i < nrOperatii; i++) {
fin >> operatie >> element;
key = element % mod;
switch (operatie) {
case 1:
insert(element, key);
break;
case 2:
pop(element, key);
break;
case 3:
fout << find(element, key) << endl;
break;
}
}
}