Cod sursa(job #425018)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 25 martie 2010 13:48:06
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <list>
#include <fstream>
using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

list<int> H[1000007];
list<int>::iterator it;

int n,i,j,op,val;
int hash_func(int val)
{
    return val%100003;
}

int main()
{
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>op>>val;
        if(op == 1)
        {

            it = H[hash_func(val)].begin();
            while(*it != val && it != H[hash_func(val)].end())
                it++;
            if(it == H[hash_func(val)].end())
                H[hash_func(val)].push_back(val);
        }
        else if(op == 2)
        {
            it = H[hash_func(val)].begin();
            while(*it != val && it != H[hash_func(val)].end())
                it++;
            if(it != H[hash_func(val)].end())
                H[hash_func(val)].erase(it);
        }
        else if(op == 3)
        {
            it = H[hash_func(val)].begin();
            while(*it != val && it != H[hash_func(val)].end())
                it++;
            out <<(it != H[hash_func(val)].end())<<'\n';
        }
    }
    return 0;
}