Cod sursa(job #828843)

Utilizator varga13VarGaz13 varga13 Data 4 decembrie 2012 15:41:12
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <fstream>
#include <vector>
const int tab=666013;
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> list[tab];

void adauga(int c);
void sterge(int c);
int find(int c);


int main()
{int n,op,c,ok=0;
    f>>n;

   for(int i=0;i<n;i++)
   {
       f>>op>>c;
       switch (op)
       {
        case 1: adauga(c);       break;         // adauga
        case 2: sterge(c);       break;        // sterge
        case 3: g<<find(c)<<'\n';break;       // gaseste
       }

   }

    f.close();
    g.close();
    return 0;
}

void adauga(int c)
{
    if(find(c)==0)
    {
    int p=c%tab;
    list[p].push_back(c);
    }


}


void sterge(int c)
{
int p=c%tab;
 for(vector<int>::iterator i=list[p].begin();i!=list[p].end(); i++)
 {
  if(*i==c) list[p].erase(i);
  break;
 }


}

int find(int c)
{
    int p=c%tab;
    for(vector<int>::iterator i=list[p].begin();i!=list[p].end(); i++)
  if(*i ==c) return 1;
   return 0;

}