hdu 1251 统计难题 字典树
来源:互联网 发布:ubuntu14.04 阿里云源 编辑:程序博客网 时间:2024/05/16 12:50
点击打开链接题目链接
统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 18020 Accepted Submission(s): 7870
Problem Description
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.
注意:本题只有一组测试数据,处理到文件结束.
注意:本题只有一组测试数据,处理到文件结束.
Output
对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input
bananabandbeeabsoluteacmbabbandabc
Sample Output
2310
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>#include<iostream>using namespace std;struct node{ node *next[26]; int num; node(){ memset(next,0,sizeof(next)); num=0; }};node *head;void tree_add(char *str){ int l=strlen(str); int i,j; node *s,*t; s=head; for(i=0;i<l;i++) { int id=str[i]-'a'; if(s->next[id]==NULL) { t=new node; for(j=0;j<=25;j++) { t->next[j]=NULL; } t->num=0; s->next[id]=t; } s=s->next[id]; s->num++; }}int tree_search(char *str){ node *s=head; int count; int l=strlen(str); int i; for(i=0;i<l;i++) { int id=str[i]-'a'; if(s->next[id]==NULL) { count=0; break; } else { s=s->next[id]; count=s->num; } } return count;}int main(){ char str[15]; int i; head=new node; while(gets(str)!=NULL&&strcmp(str,"")!=0) { tree_add(str); } while(gets(str)!=NULL&&strcmp(str,"")!=0) { printf("%d\n",tree_search(str)); } 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 统计难题 (字典树)
- 杭电acm2170hdu-acm-2170解题报告
- 杭电 2089
- 百度面试——基础架构部
- Network error IOException: Connection refused: connect这是怎么回事?
- __int64 与long long 的区别
- hdu 1251 统计难题 字典树
- LPC2000串口使用心得
- openCv RGB到HSV空间的学习
- DOMContentLoaded和window.onload
- 胜利大逃亡
- Linux pipe函数
- nmap 学习笔记1
- hdoj 1862 EXCEL排序
- Linux 中如何卸载已安装的软件.