Cod sursa(job #449925)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 7 mai 2010 10:11:30
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include<stdio.h>
#include<vector.h>


using namespace std;
#define mod 666013
vector <int> h[mod];
int m,n;
void add(int y)
{
     m = y%mod;
     vector <int> :: iterator it;
     for(it = h[m].begin(); it != h[m].end() ; it++)
            if ( *it==y)
            return ;
     h[m].push_back(y);
}
void del(int y)
{
     m= y%mod;
     vector <int> :: iterator it;
     for(it = h[m].begin(); it!=h[m].end(); it++)
     if  ( *it == y)
     {
         h[m].erase ( it ) ;
         return ;
     }
}
int find (int y)
{
    m= y%mod ;
    vector <int> :: iterator it;
    for(it = h[m].begin(); it != h[m].end(); it++)
           if  ( *it == y )
           return 1;
    return 0;
}
void solve()
{
     scanf("%d",&n);
     int x,y;
     for(int i=1 ; i<=n;i++)
     {
             scanf("%d%d",&x,&y);
             if(x==1)
                     add(y);
             else if ( x==2)
                  del(y);
             else
                 printf("%d\n",find(y));
     }
}

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