Cod sursa(job #383392)

Utilizator cristikIvan Cristian cristik Data 16 ianuarie 2010 14:34:51
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <vector>
#define mod 666013
using namespace std;
vector<int> hash[mod];
vector<int>::iterator it;
int n,x,i;
void insert(int x)
{
    int i=x%mod;
    hash[i].push_back(x);
}
void erase(int x)
{
    int i=x%mod;
    for(it=hash[i].begin(); it!=hash[i].end(); ++it)
     if(*it==x) { hash[i].erase(it); break; }

}
int search(int x)
{
    int i=x%mod;
    for(it=hash[i].begin(); it!=hash[i].end(); ++it)
     if(*it==x) return 1;
    return 0;
}
int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for(; n>0; n--)
    {
        scanf("%d%d",&i,&x);
        if(i==1) insert(x);
        if(i==2) erase(x);
        if(i==3) printf("%d\n",search(x));
    }
    return 0;
}