Cod sursa(job #944395)

Utilizator avramavram andrei marius avram Data 28 aprilie 2013 13:15:09
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
#include <list>
#define HASH 799109

using namespace std;
list<int> L[HASH];
list<int>::iterator it;

int T, t, v;

int find(int v) {
    int r = v % HASH;
    for (it = L[r].begin();it!=L[r].end();it++)
        if (*it == v) {
            return 1;
        }
    return 0;
}

void insert(int v) {
    int r = v % HASH;
    if (!find(v))
        L[r].push_back(v);
}

void erase(int v) {
    int r = v % HASH;
    for (it = L[r].begin();it!=L[r].end();it++)
        if (*it == v) {
            L[r].erase(it);
            break;
        }
}



int main() {
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");

    for (fin>>T;T;T--) {
        fin>>t>>v;
        if (t == 1)
            insert(v);
        else
            if (t == 2)
                erase(v);
            else {
                fout<<find(v)<<"\n";
            }
    }

    return 0;
}