Cod sursa(job #1233268)

Utilizator afkidStancioiu Nicu Razvan afkid Data 25 septembrie 2014 04:16:34
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <fstream>
#include <vector>

using namespace std;

const char Infile[]="hashuri.in";
const char OutFile[]="hashuri.out";
const int mod=666013;

ifstream in(Infile);
ofstream out(OutFile);

int n,i,op;

vector<int> hashtable[mod];
vector<int>::iterator it;

vector<int>::iterator Find(int x)
{
    for(it=hashtable[i].begin();it!=hashtable[i].end();++it)
        if(*it==x) return it;
    return it;
}

int main()
{
    in>>n;
    for(int k=0;k<n;k++)
    {
        in>>op>>i;
        int t=i%mod;
        it=Find(t);
        switch(op)
        {
            case(1):
                if(it==hashtable[t].end())
                    hashtable[t].push_back(i);break;
            case(2):
                if(it!=hashtable[t].end())
                    hashtable[t].erase(it);break;
            case(3):
                if(it!=hashtable[t].end())
                    out<<"1"<<endl;
                else out<<"0"<<endl;break;
        }
    }
    return 0;
}