您的位置:首页 > 其它

hihocoder 1014: Trie树(Trie树模板题)

2017-02-27 19:59 423 查看
题目链接

#include<bits/stdc++.h>
using namespace std;
const int L=12;

struct T
{
int num;
T* next[26];
T()
{
num=0;
int i;
for(int i=0;i<26;i++)
next[i]=NULL;
}
}t;

void insert(char str[])
{
T* p=&t;
for(int i=0;str[i];i++)
{
int a=str[i]-'a';
if(p->next[a]==NULL)
p->next[a]=new T;
p=p->next[a];
p->num++;
}
}
int find(char str[])
{
T* p=&t;
for(int i=0;str[i];i++)
{
int a=str[i]-'a';
if(p->next[a]==NULL)
return 0;
p=p->next[a];
}
return p->num;
}

int main()
{
int n,m;
char str[L];
scanf("%d",&n);
while(n--)
scanf("%s",str),insert(str);
scanf("%d",&m);
while(m--)
scanf("%s",str),printf("%d\n",find(str));
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: