Cod sursa(job #1896807)

Utilizator patrutoiuandreipatrutoiu andrei patrutoiuandrei Data 28 februarie 2017 22:04:13
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>
#include <vector>

#define MOD 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <int> H[MOD];
bool H_find(int x)
{
    int key = x%MOD;
    for(size_t i=0;i<H[key].size();i++)
    {
        if(H[key][i]==x)
            return 1;
    }
    return 0;
}
void H_insert(int x)
{
    if(!H_find(x));
    int key = x%MOD;
    H[key].push_back(x);
}
void H_erase(int x)
{
    int key = x%MOD;
    for(size_t i=0;i<H[key].size();i++)
    {
        if(H[key][i] == x)
        {
            H[key].erase(H[key].begin()+i);
            break;
        }
    }
}
int main()
{
    int n,i,t,x;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>t>>x;
        if(t==1)
        {
            H_insert(x);
        }
        else if(t==2)
        {
            H_erase(x);
        }
        else
        {
            fout<<H_find(x)<<'\n';
        }
    }
    return 0;
}