Cod sursa(job #526093)

Utilizator giuliastefGiulia Stef giuliastef Data 27 ianuarie 2011 13:12:28
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;

vector <int>G[MOD];

inline vector<int>::iterator find_value(int x)
{
    int list=x%MOD;
    vector<int>::iterator i;
    for(i=G[list].begin();i!=G[list].end();i++)
     if(*i==x)
      return i;
    return G[list].end();
}
void add_value(int x)
{
     int list=x%MOD;
     if(find_value(x)==G[list].end())
      G[list].push_back(x);
}
void delete_value(int x)
{
     int list=x%MOD;
     vector<int>::iterator i;
     i=find_value(x);
     if(i!=G[list].end()) G[list].erase(i);
}
int main()
{
    int i,n,op,x,k;
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
     f>>op>>x;
     if(op==1)
      add_value(x);
     if(op==2)
      delete_value(x);
     if(op==3)
     {
      k=find_value(x)!=G[x%MOD].end();
      g<<k<<"\n";
     }  
    }
    f.close();
    g.close();
    return 0;
}