Cod sursa(job #1013469)

Utilizator teoionescuIonescu Teodor teoionescu Data 20 octombrie 2013 23:26:52
Problema Hashuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int Nmax = 1000005;
const int MOD = 999983;
vector<int> H[Nmax];
vector<int>::iterator it;
int h(int x){ return x%MOD; }
int Search(int x){
    int loc=h(x);
    for(it=H[loc].begin();it!=H[loc].end();it++){
        if(*it==x) return 1;
    }
    return 0;
}
void Delete(int x){
    int loc=h(x);
    for(it=H[loc].begin();it!=H[loc].end();it++){
        if(*it==x) H[loc].erase(it);
        return;
    }
}
void Push(int x){
    int loc=h(x);
    H[loc].push_back(x);
}
int main(){
    int M;
    in>>M;
    for(;M;--M){
        int op,x;
        in>>op>>x;
        if(op==1) if(!Search(x)) Push(x);
        if(op==2) Delete(x);
        if(op==3) out<<Search(x)<<'\n';
    }
    return 0;
}