HDU 1251 统计难题 字典树
来源:互联网 发布:java软件设计模式 编辑:程序博客网 时间:2024/04/28 01:02
统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 20031 Accepted Submission(s): 8776
Problem Description
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.
注意:本题只有一组测试数据,处理到文件结束.
注意:本题只有一组测试数据,处理到文件结束.
Output
对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input
bananabandbeeabsoluteacmbabbandabc
Sample Output
2310
Author
Ignatius.L
#include <stdio.h>#include <string.h>struct node{ int flag; node *next[26];};void build(node *&head,char str[],int len){ node *p = head,*q; for(int i = 0;i < len;i++) { int zh = str[i] - 'a'; if(!p->next[zh]) { q = new node; memset(q->next,0,sizeof(q->next)); q->flag = 1; p->next[zh] = q; p = q; } else { p = p->next[zh]; p->flag++; } }}void nfind(node *&head,char str[],int len){ node *p = head; for(int i = 0;i < len;i++) { int zh = str[i] - 'a'; if(p->next[zh]) p = p->next[zh]; else { printf("0\n"); return ; } } printf("%d\n",p->flag);}int main(){ char str[15]; bool flag = false; node *head = new node; memset(head->next,0,sizeof(head->next)); while(gets(str)) { int len = strlen(str); if(!len) { flag = true; continue; } if(flag) { nfind(head,str,len); } else { build(head,str,len); } } return 0;}
0 0
- HDU 1251 统计难题 字典树
- HDU 1251统计难题(字典树)
- [字典树 ]hdu 1251 统计难题
- 统计难题 hdu 1251 字典树
- hdu 1251 统计难题 字典树
- HDU 1251 统计难题 -- 字典树
- HDU 1251 统计难题(字典树)
- hdu 1251 统计难题(字典树)
- hdu 1251 统计难题(字典树)
- hdu 1251 统计难题(字典树)
- hdu-1251-统计难题(字典树)
- hdu 1251 统计难题 (字典树)
- HDU 1251统计难题 字典树
- hdu 1251 统计难题 (字典树)
- HDU 1251 统计难题(字典树)
- hdu 1251 统计难题 字典树
- hdu 1251 统计难题 字典树
- hdu 1251 统计难题 (字典树)
- BC#31.1001pairs——二分
- Sumsets (poj 2229 简单dp)
- Android 中Activity,Window和View之间的关系
- 编译原理笔记(2)
- Java finally语句到底是在return之前还是之后执行?
- HDU 1251 统计难题 字典树
- POJ 2778 DNA Sequence(AC自动机确定DFA转移图+矩阵快速幂)
- Fedora15 默认OpenJDK与SunJDK互相切换
- OC总结
- C51知识点拾遗
- Mahout快速入门教程
- 黑马程序员--面向对象2(Java)
- windows下mysql忘记root密码后查看或修改密码的方法
- 6、SDWebImage的使用