hihoCoder 1014 Trie树(字典树)
2016-09-09 19:34
459 查看
题目来源:
http://hihocoder.com/problemset/problem/1014
里面有字典树的建立过程,可以参考。
样例输入:
5
babaab
babbbaaaa
abba
aaaaabaa
babaababb
5
babb
baabaaa
bab
bb
bbabbaab
样例输出:
1
0
3
0
0
http://hihocoder.com/problemset/problem/1014
里面有字典树的建立过程,可以参考。
#include<cstdio> struct trie //利用结构体来封装字典树的节点。 { trie* next[27]; int num; trie() //构造函数。 { for(int i=0; i<26; i++) next[i]=NULL; num=0; } } root; void insert(char* s) //将字符串s所表示的单词插入到字典树中。 { trie *p=&root; for(int i=0; s[i]!='\0'; i++) { if(p->next[s[i]-'a']==NULL) p->next[s[i]-'a']=new trie; p=p->next[s[i]-'a']; p->num++; } } int find(char *s) //返回值是以s为前缀的单词的数量。 { trie *p=&root; for(int i=0; s[i]!='\0'; i++) if(p->next[s[i]-'a']==NULL) return 0; else p=p->next[s[i]-'a']; return p->num; } int main() { char str[100010]; int n; scanf("%d",&n); getchar(); while(n--) { gets(str); insert(str); } int m; scanf("%d",&m); while(m--) { scanf("%s",str); printf("%d\n",find(str)); } }
样例输入:
5
babaab
babbbaaaa
abba
aaaaabaa
babaababb
5
babb
baabaaa
bab
bb
bbabbaab
样例输出:
1
0
3
0
0
相关文章推荐
- hihoCoder 1014 Trie树(字典树入门)
- hihoCoder 1014 : Trie树(字典树)
- hihoCoder 1014 Trie树 字典树模板
- c++字典树 Trie树(hihocoder1014)
- hihocoder 1014 Trie树 字典树模版题
- hihoCoder - 1014 : Trie树 - (字典树)
- hihoCoder - 1014 - Trie树 (简单字典树!!)
- Hihocoder 1014Trie树(字典树模板)
- hihoCoder-1014-Trie树(字典树)
- hihoCoder 1014 Trie树(基础字典树)
- hihoCoder 1014 Trie树(字典树)
- hihoCoder 1014trie树(字典树)
- hihocoder 1014 Trie树 字典树
- hihoCoder 1014 : Trie树(字典树)
- hihoCoder 1014 Trie树
- solution of hihoCoder #1014 : Trie树
- hihoCoder 1014 Trie树
- hihocoder 1014 Trie树
- Hihocoder--Trie树--1014
- hihocoder_1014: Trie树(Trie树模板题)