Cod sursa(job #1040348)

Utilizator geo.cristinaOana Georgiana-Cristina geo.cristina Data 24 noiembrie 2013 14:06:11
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <vector>
#include <fstream>
#define prime 666013
#define mod val%prime

using namespace std;

vector<int>H[prime];
int n,i,x,op;

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

int cauta(int val)
{
    int i;
    for(i=0;i<H[mod].size();i++)
      if(H[mod][i]==val)
        return i;
    return -1;
}

void inserare(int val)
{
    if(cauta(val)==-1)
      H[mod].push_back(val);
}

void stergere(int val)
{
    int cine=cauta(val);
    if(cine!=-1)
       {
        H[mod][cine]==H[mod][H[mod].size()-1];
        H[mod].pop_back();
       }
}

void gasit(int val)
{
    if(cauta(val)==-1)
      g<<'0';
    else
      g<<'1';
    g<<endl;
}

int main()
{
    f>>n;
    for(i=1;i<=n;i++)
      {
          f>>op>>x;
          if(op==1)
             inserare(x);
          if(op==2)
             stergere(x);
          if(op==3)
             gasit(x);
      }
    f.close();
    g.close();

    return 0;
}