Cod sursa(job #973503)

Utilizator Daniel3717Aleca Daniel Adrian Daniel3717 Data 14 iulie 2013 17:01:16
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 1.52 kb
#include <iostream>
#include <fstream>
using namespace std;
struct nod
{
    int inf;
    nod *urm;
} *p,*q;
struct vnod
{
    nod *urm;
} v[1000010];
int i,n,t,nr,c,r,b;
int main(void)
{
    FILE * f;
    f=fopen("hashuri.in","r");
    ofstream g("hashuri.out");
    fscanf(f,"%d",&n);
    for (i=1;i<=n;i++)
    {
        fscanf(f,"%d%d",&t,&nr);
        r=nr%1000000;
        c=nr/1000000;
        if (t==1)
        {
            p=new(nod);
            p->urm=v[r].urm;
            p->inf=c;
            v[r].urm=p;
        }
        if (t==2)
        {
            p=v[r].urm;
            if (p!=NULL)
                if (p->inf==c)
                {
                    v[r].urm=p->urm;
                    delete(p);
                    p=NULL;
                }
            while (p!=NULL)
            {
                if (p->urm->inf==c)
                {
                    q=p->urm;
                    p->urm=q->urm;
                    delete(q);
                    q=NULL;
                    p=NULL;
                }
                else
                    p=p->urm;
            }
        }
        if (t==3)
        {
            p=v[r].urm;
            b=0;
            while (p!=NULL)
            {
                if (p->inf==c)
                {
                    b=1;
                    p=NULL;
                }
                else
                    p=p->urm;
            }
            g<<b<<'\n';
        }
    }

    g.close();
    return 0;
}