Pagini recente » Cod sursa (job #1881747) | Cod sursa (job #2319075) | Cod sursa (job #1997399) | Cod sursa (job #2647786) | Cod sursa (job #1513884)
#include<cstdio>
#include<cstring>
int u,q,mx,i,j,k,op,n,l;
char a[100000][25],s[30];
int main()
{
freopen("trie.in","r",stdin);
freopen("trie.out","w",stdout);
n=1;
while(!feof(stdin))
{
scanf("%d ",&op);
if(op!=0&&op!=1&&op!=2&&op!=3) break;
gets(s+1);
scanf("\n");
if(op==0)
{
q=strlen(s+1);
for(j=1;j<=q;j++)
a[n][j]=s[j];
n++;
}
else if(op==1)
{
for(i=1;i<=n;i++)
if(strcmp(a[i],s)==0)
{
strcpy(a[i]," ");
break;
}
}
if(op==2)
{
k=0;
for(i=1;i<=n;i++)
{
u=1;
if(strlen(a[i]+1)==strlen(s+1))
{
for(j=1;j<=strlen(a[i]+1);j++)
if(a[i][j]!=s[j])
{
u=0;
break;
}
if(u==1) k++;
}
}
printf("%d\n",k);
}
else if(op==3)
{
mx=-1;
for(i=1;i<=n;i++)
{
l=strlen(a[i]+1);
k=0;
j=1;
while(a[i][j]==s[j])
{
j++;
k++;
}
if(mx<k) mx=k;
}
printf("%d\n",mx);
}
}
return 0;
}