Cod sursa(job #973327)

Utilizator rebound212Mihnea Savu rebound212 Data 14 iulie 2013 11:55:54
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.31 kb
#include<cstdio>
#include<vector>
#define MOD 666013

using namespace std;

vector<int> h[666015];

int i,op,x,n;

void operatie1(int x)
{
    int i;
    bool ok;
    ok=false;
    for(i=0;i<h[x%MOD].size();i++)
    {
        if(h[x%MOD][i]==x)
        {
            ok=true;
            break;
        }
    }
    if(ok==false)
    {
        h[x%MOD].push_back(x);
    }
}

void operatie2(int x)
{
    int i,pos;
    bool ok;
    pos=0;
    ok=false;
    for(i=0;i<h[x%MOD].size();i++)
    {
        if(h[x%MOD][i]==x)
        {
            ok=true;
            pos=i;
            break;
        }
    }
    if(ok)
    {
        h[x%MOD].erase(h[x%MOD].begin()+pos);
    }
}

int operatie3(int x)
{
    int i;
    int ok;
    ok=0;
    for(i=0;i<h[x%MOD].size();i++)
    {
        if(h[x%MOD][i]==x)
        {
            ok=1;
            break;
        }
    }
    return ok;
}

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&op,&x);
        if(op==1)
        {
            operatie1(x);
        }
        if(op==2)
        {
            operatie2(x);
        }
        if(op==3)
            printf("%d\n",operatie3(x));
    }
    return 0;
}