Cod sursa(job #1040339)

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

using namespace std;

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

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();
       }
}

int main()
{
    int x,op;
    f>>n;
    for(i=1;i<=n;i++)
      {
          f>>op>>x;
          if(op==1)
             inserare(x);
          else
           if(op==2)
              stergere(x);
            else
              if(op==3)
              {
                  if(cauta(x)==-1)
                     g<<"0"<<endl;
                  else
                    g<<"1"<<endl;
              }
      }

    return 0;
}