Cod sursa(job #1049346)

Utilizator robertc1Robert Ciobotaru robertc1 Data 7 decembrie 2013 11:31:33
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <vector>
#define  IN "hashuri.in"
#define OUT "hashuri.out"
#define MM 50000
using namespace std;

ifstream fin(IN);
ofstream fout(OUT);

vector <int> H[MM];

int cautare(int);
void insert(int);
void stergere(int x);
void citire();


int main()
{
    citire();
    return 0;
}

int cautare(int x)
{
    int k,i;
    k=x%MM;
    for(i=0; i<H[k].size(); i++)
        if(H[k][i] ==x) return i;
    return -1;
}

void insert(int x)
{
int k=x%MM;
if(cautare(x)==-1) H[k].push_back(x);
}

void stergere(int x)
{
int k=x%MM,poz=cautare(x),i;
if(poz!=-1)
    {
    H[k][poz]=H[k][H[k].size()-1];
    H[k].pop_back();
    }
}

void citire()
{
long n,i,a,b;
fin>>n;
for(i=1;i<=n;i++)
    {
    fin>>a>>b;
    if(a==1) insert(b);
    if(a==2) stergere(b);
    if(a==3) if(cautare(b)==-1) fout<<'0'<<'\n';
            else fout<<'1'<<'\n';
    }

}