Cod sursa(job #917985)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 18 martie 2013 15:32:16
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int mod=49957;
vector <int> h[mod];

int Find(int x)
{ int i,nr=x;
  x%=mod;
 for(i=0;i<h[x].size();i++)
   if (h[x][i]==nr) return i;
return -1;
}

void Insert(int x)
{ int i,nr=x;
    x%=mod;
    if (Find(nr)==-1) h[x].push_back(nr);
}

void Erase(int x)
{ int i,pos,nr=x;
    x%=mod;
    pos=Find(nr);
  if (pos!=-1)
  {h[x][pos]=h[x][h[x].size()-1]; h[x].pop_back();}
}

int main()
{ int i,n,tip,nr;
    f>>n;
  for(i=1;i<=n;i++)
  { f>>tip>>nr;
      if (tip==1) Insert(nr);
      if (tip==2) Erase(nr);
      if (tip==3) if (Find(nr)>-1) g<<"1\n"; else g<<"0\n";
  }
  return 0;
}