Cod sursa(job #1076288)

Utilizator handz.FMI Andrei Tanasescu handz. Data 10 ianuarie 2014 00:15:33
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 1.21 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

#define prime 666013
vector <int> h[prime];
int n;

/*
int cauta(int val)
{
    unsigned i; int zone;
    zone=val%prime;

    for(i=0; i<h[zone].size() ;i++)
        if(h[zone][i]==val) return i;
    return -1;
}

void insereaza(int val)
{
    int zone;
    zone=val%prime;
    h[zone].push_back(val);
}

void sterge(int val,int poz)
{
    int zone;

    zone=val%prime;
    h[zone].erase(h[zone].begin()+poz);
}
*/

int main()
{
    f>>n;
    int i,a,x,zone,ok;
    for(i=1; i<=n ;i++)
    {
        f>>a; f>>x;

        zone=x%prime;
        ok=0;

        vector<int>::iterator i;
        for(i=h[zone].begin(); i!=h[zone].end() ;++i)
        {
            if(*i==x)
            {
                ok=1;
                break;
            }

        }

        if(a==1 && ok==0) h[zone].push_back(x);
        else
        {
            if(a==2 && ok==1)
                h[zone].erase(i);
            else
            {
                if(a==3)
                    g<<ok<<endl;
            }
        }
    }
    return 0;
}