Cod sursa(job #1279461)

Utilizator diana-t95FMI Tudoreanu Diana Elena diana-t95 Data 30 noiembrie 2014 13:51:37
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define mod 666013
vector<int> h[mod];
int n;
vector<int>::iterator cauta(int val)
{
    int aux=val%mod;
    vector<int>::iterator it;
    for (it=h[aux].begin(); it!=h[aux].end(); it++)
        if (*it==val) return it;
    return h[aux].end();
}
void adauga(int val)
{
    if (cauta(val)==h[val%mod].end()) h[val%mod].push_back(val);
}
void sterge(int val)
{
    vector<int>::iterator it;
    it=cauta(val);
    if (it!=h[val%mod].end())
        h[val%mod].erase(it);
}
int main()
{
   ifstream f("hashuri.in");
   ofstream g("hashuri.out");
   int i, op, x;
   f>>n;
   for (i=0;i<n;i++)
   {
       f>>op>>x;
       if (op==1) adauga(x);
       if (op==2) sterge(x);
       if (op==3)
           if (cauta(x)!=h[x%mod].end()) g<<"1\n";
           else g<<"0\n";
   }
}