Cod sursa(job #382091)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 12 ianuarie 2010 20:10:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<stdio.h>
#include<vector>
#define key 666013
using namespace std;
vector <int> hash[key];
int n;
void insert(int val)
{
    hash[val%key].push_back(val);
}

void clear(int val)
{
    int poz=val%key;
    int nrel=hash[poz].size();
    int i;
    for(i=0;i<nrel;i++)
        if(hash[poz][i]==val)
            hash[poz][i]=-1;
    
}

int check(int val)
{
    int poz=val%key;
    int nrel=hash[poz].size();
    int i;
    for(i=0;i<nrel;i++)
        if(hash[poz][i]==val)
            return 1;
    return 0;
}

int main ()
{
    int i,a,tip;
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&tip,&a);
        if(tip==1)
            insert(a);
        if(tip==2)
            clear(a);
        if(tip==3)
            printf("%d\n",check(a));
    }
    return 0;
}