题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1251

node *head=(node*)malloc(sizeof(node));
for(int i=0; i<26; i++)
{
head->next[i] = NULL;
head->sum = 0;
}
可以改成node *head=new node();
要用c++提交才对,不然G++就内存超限了-_-
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
using namespace std; struct node
{
int sum;
node *next[];
}; void BuildLibTree(node *head, char s[])
{
node *p = head,*q; for(int i=; s[i]; i++)
{
int k = s[i] - 'a';
if(p->next[k] == NULL)
{
q=(node*)malloc(sizeof(node));
for(int j=; j<; j++)
{
q->next[j] = NULL;
q->sum = ;
}
p->next[k] = q;
}
p = p->next[k];
p->sum++;
}
}
int Query(node *head, char s[])
{
node *p = head;
for(int i=; s[i]; i++)
{
int k = s[i]-'a';
if(p->next[k] == NULL)
return ;
p = p->next[k];
}
return p->sum;
}
int main()
{
char s[];
node *head=(node*)malloc(sizeof(node));
for(int i=; i<; i++)
{
head->next[i] = NULL;
head->sum = ;
}
while(gets(s),s[])
BuildLibTree(head, s); while(scanf("%s",s)!=EOF)
printf("%d\n", Query(head, s));
return ;
}

最新文章

  1. Python 基础之二用户交互input
  2. java基础之 序列化
  3. 转载:C#保存文件时重名自动生成新文件的方法
  4. 关于SVN代码提交粒度和频率的思考
  5. Hadoop.2.x_网站PV示例
  6. Codeforces 346C Number Transformation II 构造
  7. POJ 2299 Ultra-QuickSort 归并排序、二叉排序树,求逆序数
  8. compareTo()
  9. Silverlight下的Socket通讯
  10. R与数据分析旧笔记(十八完结) 因子分析
  11. JQuery - MD5加密
  12. 通过C++修改系统时间代码
  13. AOP 切面编程------JoinPoint ---- log日志
  14. python之路--day11---迭代器和生成器
  15. getnameinfo函数
  16. 用crash来分析一下proc的文件访问
  17. Wildcard Matching leetcode java
  18. suse zypper 添加源
  19. Process Class (System.Diagnostics)
  20. 查询相应id下的数据

热门文章

  1. postgres外部表之-oracle_fdw
  2. php-fpm 记录慢执行日志
  3. springboot 集成elasticsearch5.4.3
  4. jQuery ajax中serialize()方法增加其他参数
  5. windowsError错误码详解
  6. 如何在taro的map循环中使用if条件渲染
  7. C语言EOF是什么?
  8. 七、K3 WISE 开发插件《Update字段级更新触发器 - BOS单审核后反写源单》
  9. python函数定义语法总结
  10. Android与互联网的交互方式有三种