Cod sursa(job #1764983)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 26 septembrie 2016 10:10:26
Problema Hashuri Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia1-hashuri.rabinkarp Marime 0.96 kb
#include <cstdio>
#include <algorithm>
#include <vector>
#define MAXN 666013
using namespace std;
  
int N,val,Type;
vector <int>H[MAXN];
void Add(int v)
{
    int S=v%MAXN;
    for(int i=0;i<H[S].size();i++)
        if(H[S][i]==v)
            return;
    H[S].push_back(v);
}
void Delete(int v)
{
    int S=v%MAXN;
    for(int i=0;i<H[S].size();i++)
        if(H[S][i]==v)
        {
            H[S].erase(H[S].begin()+i);
            return;
        }
}
void Search(int v)
{
    int S=v%MAXN;
    for(int i=0;i<H[S].size();i++)
        if(H[S][i]==v)
        {
            printf("1\n");
            return;
        }
    printf("0\n");
}
int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;i++)
    {
        scanf("%d%d",&Type,&val);
        if(Type==1)Add(val);
        else if(Type==2)Delete(val);
        else Search(val);
    }
    return 0;
}