Pagini recente » Cod sursa (job #1568376) | Cod sursa (job #2859566) | Cod sursa (job #748746) | Cod sursa (job #349868) | Cod sursa (job #1852839)
#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';
}
}
}