Cod sursa(job #1979883)

Utilizator doriiiiiii7Tirsogoiu Dorina doriiiiiii7 Data 11 mai 2017 17:01:49
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include<fstream>
using namespace std;
#define MOD 666013
ifstream f("hashuri.in");
ofstream g("hashuri.out");
struct nod{
    int inf;
    nod *urm;
} *a[666015];
int n;
int find(int x)
{
    int gasit=0;
    if(a[x%MOD]!=NULL)
    {
        for(nod *p=a[x%MOD];p!=NULL;p=p->urm)
            if(p->inf==x)
            {gasit=1;break;}
    }
    return gasit;
}
void insert( int x)
{
    nod *p=new nod;
    p->inf=x;p->urm=a[x%MOD];
    a[x%MOD]=p;
}
void del(int x)
{
    nod *p=a[x%MOD];
    if(p->inf==x){a[x%MOD]=p->urm; delete p;}
    else
        for(nod* p=a[x%MOD];p->urm!=NULL;p=p->urm)
            if(p->urm->inf==x)
            {
                nod *q=p->urm;
                p->urm=p->urm->urm;
                delete q;
                break;
            }


}

int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        int op,x;
        f>>op>>x;
        switch(op)
        {
        case 1:if(!find(x))insert(x);break;
        case 2:if(find(x))del(x);break;
        case 3:g<<find(x)<<'\n';
        }

    }
return 0;
}