hdu1251统计难题-字典树模板题
来源:互联网 发布:centos 移除安装包 编辑:程序博客网 时间:2024/05/29 11:51
题目:
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.
注意:本题只有一组测试数据,处理到文件结束.
注意:本题只有一组测试数据,处理到文件结束.
Output
对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input
bananabandbeeabsoluteacmbabbandabc
Sample Output
2310
字典树模板题,无语了,搞了半天的ME结果是选的g++有问题,选c++就能过了
代码:
#include<map>#include<string>#include<cstring>#include<cstdio>#include<cstdlib>#include<cmath>#include<queue>#include<vector>#include<iostream>#include<algorithm>#include<bitset>#include<climits>#include<list>#include<iomanip>#include<stack>#include<set>const int maxn=111111;using namespace std;int flag;struct Trie{ int v; Trie *next[26];}*root;void CreatTrie(char *ss){ int len=strlen(ss); Trie *q,*p=root; for(int i=0;i<len;i++) { int id=ss[i]-'a'; if(p->next[id]==NULL) { q=new Trie; q->v=1; for(int j=0;j<26;j++) q->next[j]=NULL; p->next[id]=q; } else { p->next[id]->v++; } p=p->next[id]; }}void Release(Trie *p){ if(p==NULL) return; for(int i=0;i<26;i++) { if(p->next[i]!=NULL) Release(p->next[i]); } free(p); root=NULL; return;}int FindTrie(char *ss){ int len=strlen(ss); Trie *p=root; for(int i=0;i<len;i++) { int id=ss[i]-'a'; p=p->next[id]; if(p==NULL) return 0; } return p->v;}void init(){ root=new Trie; root->v=0; for(int i=0;i<26;i++) { root->next[i]=NULL; }}int main(){ flag=0; char s[22]; init(); while(gets(s)&&strcmp(s,"")!=0) CreatTrie(s); while(scanf("%s",s)!=EOF) printf("%d\n",FindTrie(s)); Release(root); return 0;}
阅读全文
0 0
- hdu1251-统计难题-字典树模板题
- hdu1251统计难题-字典树模板题
- HDU1251 统计难题(字典树模板)
- HDU1251统计难题(字典树模板)
- 字典树模板 hdu1251统计难题
- hdu1251 统计难题 字典树
- 【字典树】 hdu1251 统计难题
- hdu1251 统计难题(字典树)
- 统计难题(hdu1251字典树)
- hdu1251 统计难题 (字典树)
- HDU1251统计难题(字典树)
- hdu1251统计难题(字典树)
- Hdu1251 - 统计难题 - 字典树
- hdu1251 统计难题 【字典树】
- HDU1251 统计难题【字典树】
- 【字典树】HDU1251统计难题
- hdu1251 统计难题 字典树
- hdu1251 统计难题 字典树
- gitk显示中文乱码
- iOS app调起微信支付后崩溃闪退的问题
- Ogre灯光
- 物联网时代制造企业对大数据的运用分析
- HDU 6090 Rikka with Graph (贪心+构造, 2017 Multi-Univ Training Contest 5)
- hdu1251统计难题-字典树模板题
- Android获取本机各种类型文件列表(音乐、视频、图片、文档等)
- 大数据学习路线
- VUE 学习笔记
- Springboot 集成kaptcha验证码 (图片转base64)
- 【坑】重置密码引起的mongodb无法访问
- svn 命令行下常用的几个命令
- 《Maven实战》学习笔记目录(转载)
- JS中如何比较两个Json对象是否相等