Cod sursa(job #240136)

Utilizator Mishu91Andrei Misarca Mishu91 Data 6 ianuarie 2009 21:44:11
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <cstdio>
#include <vector>

using namespace std;

#define MOD 11677

vector <int> V[MOD];
int T;

bool search(int x)
{
    int k = x % MOD;

    for(vector <int> :: iterator it = V[k].begin(); it != V[k].end(); ++it)
        if(*it == x)
            return 1;
    return 0;
}

void add(int x)
{
    int k = x % MOD;
    if(search(x)) return;

    V[k].push_back(x);
}

void erase(int x)
{
    int k = x % MOD;

    if(!search(x)) return;

    for(vector <int> :: iterator it = V[k].begin(); it != V[k].end(); ++it)
        if(*it == x)
        {
            V[k].erase(it);
            return;
        }
}

int main()
{
    freopen("hashuri.in","rt",stdin);
    freopen("hashuri.out","wt",stdout);

    scanf("%d",&T);

    int tip, x;
    while(T--)
    {
        scanf("%d %d",&tip, &x);

        if(tip == 1)
            add(x);
        if(tip == 2)
            erase(x);
        if(tip == 3)
            if(search(x))
                printf("1\n");
            else
                printf("0\n");
    }
}