题解:模板简单题
#include<bits/stdc++.h>
using namespace std;
char s[10];
int t=0;
struct trie{
int son[26];
int num;
}a[100005];
void add(){
int i,l,p=0;
l=strlen(s);
for(i=0;i<l;i++){
if(a[p].son[s[i]-'a']==0)
a[p].son[s[i]-'a']=++t;
p=a[p].son[s[i]-'a'];
a[p].num++;
}
}
int get_answer(){
int i,l,p=0;
l=strlen(s);
for(i=0;i<l;i++){
if(a[p].son[s[i]-'a']==0)
return 0;
p=a[p].son[s[i]-'a'];
}
return a[p].num;
}
int main(){
while(gets(s)){
if(strlen(s)==0)break;
add();
}
while(~scanf("%s",s)){
cout<<get_answer()<<endl;
}
}