Cod sursa(job #2239736)

Utilizator danielsociuSociu Daniel danielsociu Data 11 septembrie 2018 19:12:13
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>
#include <vector>
std::ifstream cin("hashuri.in");
std::ofstream cout("hashuri.out");
using namespace std;
#define MOD 433847 // MAI BINE FACEAM ALTA METODA, FMM DE HASH CODE
vector <int> G[MOD+10]; //nu are nici un sens de ce nu ar merge?

vector<int>::iterator find_x(int x){
    vector<int>::iterator it;
    for(it=G[x%MOD].begin();it!=G[x%MOD].end();it++)
        if(*it==x)
            return it;
    return G[x%MOD].end();
}
void insert_x(int x){
    if(find_x(x%MOD)==G[x%MOD].end())
        G[x%MOD].push_back(x);
}
void delete_x(int x){
    vector<int>::iterator it=find_x(x);
    if(it!=G[x%MOD].end())
        G[x%MOD].erase(it);
}

int main()
{
    int op,x,nr;
    cin>>nr;
    for(;nr--;){
        cin>>op>>x;
        if(op==1)
            insert_x(x);
        else
            if(op==2)
                delete_x(x);
        else{
            cout<<(find_x(x)!=G[x%MOD].end());
            cout<<'\n';
        }
    }
}