Cod sursa(job #1542243)

Utilizator daneel95Holteiu Daniel-Ninel daneel95 Data 5 decembrie 2015 10:41:57
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>
#include <vector>
#define M 666013

using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

vector <int> hash[M];
int n,operatie,x;

bool exist(int x)
{
    int i;
    for(i=0;i<hash[x%M].size();i++)
        if(hash[x%M][i]==x) return 1;
    return 0;
}

void insert(int x)
{
    if(!exist(x)) hash[x%M].push_back(x);
}

void sterge(int x)
{
    int i;
    for(i=0;i<hash[x%M].size();i++)
        if(hash[x%M][i]==x)
        {
            hash[x%M].erase(hash[x%M].begin()+i);
            break;
        }

}

int main()
{
    int i,t;
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>operatie>>x;
        if(operatie==1)
        {
            insert(x);
        }
        if(operatie==2 && exist(x)==1)
        {
            sterge(x);
        }
        if(operatie==3) out<<exist(x)<<"\n";
    }
    in.close();
    out.close();
    return 0;
}