Cod sursa(job #2188185)

Utilizator MarianConstantinMarian Constantin MarianConstantin Data 26 martie 2018 23:32:09
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.45 kb
#include <iostream>
#include <fstream>
#include <list>
#define prime 1000003

using namespace std;

list < pair < int, int > > v[prime];

int hashf(int x)
{
    return x%prime;
}

int main()
{
    int n, p, x, h;
    list < pair < int, int > > :: iterator k;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin >> n;
    for (int i=1; i<=n; i++)
    {
        fin >> p >> x;
        if (p==1)
        {
            h=hashf(x);
            for (k=v[h].begin(); k!=v[h].end(); k++)
                if (k->first==x)
                    break;
            if (k==v[h].end())
            {
                v[h].push_back(make_pair(x, 1));
            }
        }
        else
            if (p==2)
            {
                h=hashf(x);
                for (k=v[h].begin(); k!=v[h].end(); k++)
                    if (k->first==x)
                        break;
                if (k!=v[h].end())
                {
                    v[h].erase(k);
                }
            }
            else
            {
                h=hashf(x);
                for (k=v[h].begin(); k!=v[h].end(); k++)
                    if (k->first==x)
                        break;
                if (k==v[h].end())
                {
                    fout << "0\n";
                }
                else
                {
                    fout << "1\n";
                }
            }
        }
    return 0;
}