Pagini recente » Cod sursa (job #1205398) | Cod sursa (job #708587) | Cod sursa (job #924018) | Cod sursa (job #749491) | Cod sursa (job #1200461)
#include <fstream>
#include <list>
using namespace std;
list<int> hsh[666013];
int h(int val) {
return val % 666013;
}
int insert(list<int> hash[], int val) {
int index = h(val);
for (auto& element: hash[index]) {
if (element == val) {
return 0;
}
}
hash[index].push_back(val);
return 1;
}
int find(list<int> hash[], int val) {
int index = h(val);
for (auto& element: hash[index]) {
if (element == val) {
return 1;
}
}
return 0;
}
int remove(list<int> hash[], int val) {
int index = h(val);
hash[index].remove(val);
return 0;
}
int main() {
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
int N;
cin >> N;
for (int i = 0; i < N; i++) {
int op, x;
cin >> op >> x;
switch(op) {
case 1:
insert(hsh, x);
break;
case 2:
remove(hsh, x);
break;
default:
cout << find(hsh, x) << '\n';
}
}
return 0;
}