Cod sursa(job #238665)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 2 ianuarie 2009 22:11:50
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>
#include <vector>
using namespace std;
const int MOD=112358;
vector<int> H[MOD];
int h(int x){
    return x%MOD;
    }
vector<int>::iterator find(int x){
    int i=h(x);
    vector<int>::iterator it;
    for (it=H[i].begin();it!=H[i].end();++it)
     if (*it==x) return it;
    return it;
    }
void add(int x){
    int i=h(x);
    if (find(x)!=H[i].end()) return;
    H[i].push_back(x);
    }
void sterge(int x){
    int i=h(x);
    if (find(x)==H[i].end()) return;
    H[i].erase(find(x));
    } 
int main(){
    int N,op,x;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    for (fin>>N;N;N--){
        fin>>op>>x;
        switch(op){
        case 1:add(x);break;
        case 2:sterge(x);break;
        case 3:if (find(x)!=H[h(x)].end())
                 fout<<"1\n";
                 else
                 fout<<"0\n";
                 break;
                  }
        }
    return 0;
}