Cod sursa(job #2191364)

Utilizator ibogdan25Ilie Ionut ibogdan25 Data 2 aprilie 2018 17:47:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.21 kb
// SortChar.cpp : Defines the entry point for the console application.
//

#include <queue>
#include <iostream>
#include <string>
#include <fstream>
#define PRIME 2531
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
struct Hash{
    vector<int> numbers;
}H[PRIME];
int isInHash(int number) {
    int key = number % PRIME;
    for (int i = 0; i < H[key].numbers.size(); i++) {
        if (H[key].numbers[i] == number) return 1;
    }
    return 0;
}
void addNumber(int number) {
    int key = number % PRIME;
    H[key].numbers.push_back(number);
}
void removeNumber(int number) {
    int key = number % PRIME;
    for (int i = 0; i < H[key].numbers.size(); i++) {
        if (H[key].numbers[i] == number) {
            H[key].numbers.erase(H[key].numbers.begin() + i);
            break;
        }
    }
}
int main() {
    int q = 0;
    f >> q;
    while (q--) {
        int x = 0, y = 0;
        f >> x >> y;
        if (x == 1) {
            if (!isInHash((y))) {
                addNumber(y);
            }
        }else if (x == 2) {
            removeNumber(y);
        }else if (x == 3) {
            g << isInHash(y) << "\n";
        }
    }
    return 0;
}