Cod sursa(job #1233276)

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

using namespace std;

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

int t,n;

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

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

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

void ins(int x)
{
    for(it=hashtable[t].begin();it!=hashtable[t].end();++it)
        if(*it==x) return;
    hashtable[t].push_back(x);
}

void ers(int x)
{
    for(it=hashtable[t].begin();it!=hashtable[t].end();++it)
    {
        if(*it==x)
        {
            hashtable[t].erase(it);
            return;
        }
    }
}

int main()
{
    int op,i;
    in>>n;
    while(in>>op>>i)
    {
        t=i%mod;
        if(op==1) ins(i);
        if(op==2) ers(i);
        if(op==3 && Find(i)!=hashtable[t].end())
            out<<"1"<<endl;
        else if(op==3) out<<"0"<<endl;

    }
    return 0;
}