hihoCoder1014 Trie树
2016-10-13 13:18
344 查看
基本的tire树 加上模板
#include<iostream> #include<math.h> #include<cstdio> #include<stdlib.h> #include<cstring> using namespace std; #define MAX 26 typedef struct tirenode { int nCount; // 该节点前缀 出现的次数 struct tirenode *next[MAX];//该节点的后续节点 } tirenode; int allocp =0; tirenode *creat() { tirenode *tmp=(tirenode*)malloc(sizeof(tirenode)); tmp->nCount=1; for(int i=0;i<MAX;i++) tmp->next[i]=NULL; return tmp; } void intsert(tirenode **proot,char *str) { tirenode*tmp=*proot; int i=0,k; while(str[i]) { k=str[i]-'a'; if(tmp->next[k]) { tmp->next[k]->nCount++; } else { tmp->next[k]=creat(); } tmp=tmp->next[k]; i++; } } int searcht(tirenode*root,char *str) { if(root==NULL) return 0; tirenode*tmp=root; int i=0,k; while(str[i]) { k=str[i]-'a'; if(tmp->next[k]) { tmp=tmp->next[k]; } else return 0; i++; } return tmp->nCount; } int main() { tirenode *root=creat(); int t; char s[100100]; scanf("%d%*c",&t); while(t--) { gets(s); intsert(&root,s); } scanf("%d%*c",&t); while(t--) {gets(s); printf("%d\n",searcht(root,s)); } return 0; }
相关文章推荐
- c++字典树 Trie树(hihocoder1014)
- 【Trie树】 Hihocoder 1014
- hihocoder 1014 : Trie树
- 【hihocoder】1014 : Trie树
- Hihocoder--Trie树--1014
- 【Tire 求字典出现的前缀个数】hihocoder 1014 Trie树
- hihoCoder 1014 Trie树
- [hihoCoder1014]Trie树[前缀树][前缀树的建立]
- hihocoder-#1014 : Trie树
- hihoCoder题目AC #1014 : Trie树 Java
- hihoCoder 1014 Trie树
- hihoCoder 1014 Trie树
- hihocoder_1014: Trie树(Trie树模板题)
- hihoCoder 1014 Trie树 字典树模板
- hihoCoder 1014 Trie树(基础字典树)
- 【hihocoder】#1014 : Trie树
- hihocoder 1014 Trie树 字典树模版题
- hihoCoder 1014 : Trie树
- hihoCoder-1014-Trie树(字典树)
- hihocoder 1014: Trie树(Trie树模板题)