Cod sursa(job #806141)

Utilizator IoannaPandele Ioana Ioanna Data 1 noiembrie 2012 21:33:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include<fstream>
#include<vector>
#define mod 666013

using namespace std;

vector <long> hash[mod];

ifstream in("hashuri.in");
ofstream out("hashuri.out");

void add(long x)
{
    long i,k;
    k=x%mod;
    for (i=0;i<hash[k].size();i++)
    {
        if (hash[k][i]==x)
            return;
    }
        hash[k].push_back(x);
}

void del(long x)
{
    long i,k;
    k=x%mod;
    for (i=0;i<hash[k].size();i++)
    {
        if (hash[k][i]==x)
        {
            hash[k][i]=hash[k].back();
            hash[k].pop_back();
            return;
        }
    }
}

int search(long x)
{
    long i,k;
    k=x%mod;
    for (i=0;i<hash[k].size();i++)
    {
        if (hash[k][i]==x)
            return 1;
    }
    return 0;
}

int main()
{
    long n;
    int op,x;
    in>>n;
    for (long i=1;i<=n;i++)
    {
        in>>op>>x;
        switch(op)
        {
            case 1:{add(x);break;}
            case 2:{del(x);break;}
            case 3:{out<<search(x)<<"\n";break;}
        }
    }
    return 0;
}