Cod sursa(job #808453)

Utilizator cristi_berceanuFMI - Cristi Berceanu cristi_berceanu Data 6 noiembrie 2012 19:48:25
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<vector>
#include<cstdio>

#define MOD 666013
using namespace std;

vector<int> h[MOD];

vector<int>::iterator find(int x){
    int r=x%MOD;
    vector<int>::iterator it;
    for(it=h[r].begin();it!=h[r].end();++it)
        if( *it==x)
        return it;
    return h[r].end();
}



void insert(int x){
    int r=x%MOD;
    if(find(x)==h[r].end())
        h[r].push_back(x);
}


void del(int x){
    int r=x%MOD;
    vector<int>::iterator it=find(x);
    if(it!=h[r].end())
        h[r].erase(it);
}


int main(){
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);

    int n,i,op,x;
    scanf("%d",&n);
        for(i=1;i<=n;++i){
        scanf("%d%d",&op,&x);
        switch(op){
        case 1 : insert(x); break;
        case 2 : del(x); break;
        case 3 : printf("%d\n",find(x)!=h[x%MOD].end() ? 1:0);
        }
    }
    return 0;
}