Cod sursa(job #1387836)

Utilizator AndreiITCuriman Andrei AndreiIT Data 14 martie 2015 19:01:51
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.15 kb
/*
    code by purplecoder
*/
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
vector <int> H[MOD];
int n;
void tip_1(int a)
{
    int cod=a%MOD;
    int lg=H[cod].size();
    int ok=0;
    for(int i=0; i<lg; i++)
        if(a==H[cod][i])
            ok=1;
    if(ok==0)
        H[cod].push_back(a);
}
void tip_2(int a)
{
    int cod=a%MOD;
    int lg=H[cod].size();
    for(int i=0; i<lg; ++i)
    {
        if(H[cod][i]==a)
        {
            swap(H[cod][i], H[cod][lg-1]);
            H[cod].pop_back();
            break;
        }
    }
}
void tip_3(int a)
{
    int cod=a%MOD, ok=0;
    int lg=H[cod].size();
    for(int i=0; i<lg; ++i)
    {
        if(H[cod][i]==a)
        {
            fout<<"1\n";
            ok=1;
        }
    }
    if(ok==0)
        fout<<"0\n";
}
int main()
{
    fin>>n;
    for(int ni=1; ni<=n; ++ni)
    {
        int x, a;
        fin>>x>>a;
        if(x==1)
            tip_1(a);
        if(x==2)
            tip_2(a);
        if(x==3)
            tip_3(a);
    }
    return 0;
}