Pagini recente » Cod sursa (job #2319889) | Cod sursa (job #452778) | Cod sursa (job #1619221) | Cod sursa (job #2328492) | Cod sursa (job #2660529)
#include <stdio.h>
#include <vector>
using namespace std;
#define NUM_KEY 500000
vector<int> h[NUM_KEY];
int find_element(int element) {
int key = element % NUM_KEY;
for (int i = 0; i < h[key].size(); ++i) {
if (h[key][i] == element) {
return 1;
}
}
return 0;
}
void add_element(int element) {
if (find_element(element) == 0) {
int key = element % NUM_KEY;
h[key].push_back(element);
}
}
void erase_element(int element){
if (find_element(element) == 1) {
int key = element % NUM_KEY;
for (int i = 0; i < h[key].size(); ++i) {
if (h[key][i] == element) {
h[key].erase(h[key].begin() + i);
}
}
}
}
int main() {
int operatie;
int element;
int n;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &n);
for (int i = 0 ; i < n; ++i)
{
scanf("%d %d", &operatie, &element);
//printf("%d %d\n", operatie, element);
if (operatie == 1) {
add_element(element);
}
if (operatie == 2) {
erase_element(element);
}
if (operatie == 3) {
int result = find_element(element);
printf("%d\n", result);
}
}
return 0;
}