Cod sursa(job #2208208)

Utilizator Eduard24Eduard Scaueru Eduard24 Data 28 mai 2018 17:56:47
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.32 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int n,x,ans,i,mod=100129,y;
struct graf
{
    int nd;
    graf *next;
}*gr[100131],*q;

void adauga(int x)
{
    graf *q = new graf;
    q->nd=x;
    q->next=gr[x%mod];
    gr[x%mod]=q;
}

int verif(int x)
{
    graf *p;
    for(p=gr[x%mod];p!=NULL;p=p->next)
    {
        if(p->nd==x)
        {
            return 1;
        }
    }
    return 0;
}

void sterge (int x)
{
    graf *p,*q;
    p=gr[x%mod];
    if(p->nd==x)
    {
        gr[x%mod]=p->next;
        delete p;
    }
    else
    {
        while(p->next->nd!=x)
        {
            p=p->next;
        }
        q=p->next;
        p->next=q->next;
        delete q;
    }
}

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>ans;
        if(ans==1)
        {
            fin>>x;
            if(verif(x)==0)
            {
                adauga(x);
            }
        }
        if(ans==2)
        {
            fin>>x;
            if(verif(x)==1)
            {
                sterge(x);
            }
        }
        if(ans==3)
        {
            fin>>x;
            fout<<verif(x)<<"\n";
        }
    }
    fin.close();
    fout.close();
    return 0;
}