Cod sursa(job #582674)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 15 aprilie 2011 18:00:29
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <cstdio>
#include <cstring>
#include <fstream>
#include <vector>
#define Nmx 66700

using namespace std;

int n;
vector<int> G[Nmx];

ifstream fin("hashuri.in");

vector<int>::iterator caut(int x)
{
    int X=x%Nmx;
    vector<int>::iterator it;
    for(it=G[X].begin();it!=G[X].end();++it)
        if(*it==x)
            return it;
    return G[X].end();
}

void sterge(int x)
{
    vector<int>::iterator it=caut(x);
    if(it!=G[x%Nmx].end())
        G[x%Nmx].erase(it);
}

void insereaza(int x)
{
    vector<int>::iterator it=caut(x);
    if(it==G[x%Nmx].end())
        G[x%Nmx].push_back(x);
}


void read_and_solve()
{
    fin>>n;
    int type,x;
    for(int i=1;i<=n;++i)
    {
        fin>>type>>x;
        if(type==1)
            insereaza(x);
        else if(type==2)
            sterge(x);
        else printf("%d\n",caut(x)!=G[x%Nmx].end());
    }
}

int main()
{
    freopen("hashuri.out","w",stdout);
    read_and_solve();
    return 0;
}