Cod sursa(job #1076290)

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

#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()
{
    FILE *f,*g;
    f=fopen("hashuri.in","r");
    g=fopen("hashuri.out","w");
    fscanf(f,"%d",&n);

    int i,a,x,zone,ok;
    for(i=1; i<=n ;i++)
    {
        fscanf(f,"%d%d",&a,&x);

        zone=x%prime;
        ok=0;

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

        }

        if(a==1 && ok==0) h[zone].push_back(x);
        else
        {
            if(a==2 && ok==1)
                h[zone].erase(itt);
            else
            {
                if(a==3)
                    fprintf(g,"%d\n",ok);
            }
        }
    }
    return 0;
}