Cod sursa(job #1038109)

Utilizator Biancageorgianaonici bianca Biancageorgiana Data 20 noiembrie 2013 23:40:54
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013
#define cheie x%mod

using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int>h[666013];
int n,val,tip;

int cauta(int x)
{
    for(int i=0;i<h[cheie].size();i++)
        if(h[cheie][i]==x)
            return i;
    return -1;
}
void insereaza(int x)
{
    if(cauta(x)==-1)
          h[cheie].push_back(x);
}
void sterge(int x)
{
    int y=cauta(x);
    if(y!=-1)
   {
       h[cheie][y]=h[cheie][h[cheie].size()-1];
       h[cheie].pop_back();
   }
}


int main()
{

    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>tip>>val;
        if(tip==1)
            insereaza(val);
        if(tip==2)
            sterge(val);
        if(tip==3)
            {
                if(cauta(val)!=-1)
                    g<<'1'<<endl;
                else
                    g<<'0'<<endl;
            }
    }
    f.close();
    g.close();

    return 0;
}