Cod sursa(job #1852839)

Utilizator ZanoxNonea Victor Zanox Data 21 ianuarie 2017 10:58:53
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.19 kb
#include <fstream>
#include <iostream>
#include <cstring>

using namespace std;

struct nod
{
    int info;//0 nu exista, 1 exista
    nod *st[10];
}*p,*r;

nod* init()
{
    nod *p;
    p=new nod;
    for(int i=0;i<10;i++)p->st[i]=0;
    p->info=0;
    return p;
}

//p reprezinta 0

fstream f("hashuri.in",ios::in),g("hashuri.out",ios::out);

int n,q,a,i,j;

int main()
{
    f>>n;
    p=init();
    for(i=1;i<=n;i++)
    {
        f>>q>>a;
        if(q==1)
        {
            r=p;
            while(a>0)
            {
                if(r->st[a%10]==0)r->st[a%10]=init();
                r=r->st[a%10];
                a/=10;
            }
            r->info=1;
        }
        if(q==2)
        {
            r=p;
            while(a>0&&r!=0)
            {
                r=r->st[a%10];
                a/=10;
            }
            if(r!=0)r->info=0;
        }
        if(q==3)
        {
            r=p;
            while(a>0&&r!=0)
            {
                r=r->st[a%10];
                a/=10;
            }
            if(r==0)g<<0<<'\n';
            else if(r->info==0)g<<0<<'\n';
            else g<<1<<'\n';
        }
    }
}