Cod sursa(job #1308965)

Utilizator MacWonkMihai Alexandru Cosmin MacWonk Data 4 ianuarie 2015 22:52:31
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <cstdio>
#include <vector>
#define MOD 24019
using namespace std;
vector <int> T[MOD];
int i,n,op,x;
int check(int x)
{
    int i,hash;
    hash=x%MOD;
    for(i=0;i<T[hash].size();++i)
    {
        if(T[hash][i]==x) return i;
    }
    return -1;
}
void add(int x)
{
    int hash;
    hash=x%MOD;
    if(check(x)==-1) T[hash].push_back(x);
}
void erase(int x)
{
    int hash,poz;
    hash=x%MOD;
    poz=check(x);
    if(poz!=-1)
    {
        T[hash].erase(T[hash].begin()+poz);
    }
}
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) add(x);
        else if(op==2) erase(x);
        else
        {
            if(check(x)!=-1) printf("1\n");
            else printf("0\n");
        }
    }
    return 0;
}