大意:输入几个字符串,然后再输入几个字符串,看第一次输入的字符串有多少没有在后面的字符串中出现(后输入的字符串不一定出现在之前的字符串中)

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

typedef struct Node

{

  int flag;

struct Node *next[26];

}Node,*Tree;

char a[20010][20];

int n,m;

void Creat(Tree &T)

{

int i;

T=(Tree)malloc(sizeof(Node));

T->flag=0;

for(i=0;i<26;i++)

T->next[i]=NULL;

}

void insert(Tree &T,char *s)

{

  int l,i,t;

  Tree p=T;

  l=strlen(s);

  for(i=0;i<l;i++)

  {

    if(s[i]>='a'&&s[i]<='z')

    t=s[i]-'a';

    else t=s[i]-'A';

   if(p->next[t]==NULL)

    Creat(p->next[t]);

     p=p->next[t];

  }

   p->flag=1;

}

int search(Tree T,char *s)

{

  Tree p=T;

   int i,k,t;

k=strlen(s);

for(i=0;i<k;i++)

{

if(s[i]>='A'&&s[i]<='Z')

t=s[i]-'A';

else

  t=s[i]-'a';

  if(p->next[t]==NULL)

     return 0;

   p=p->next[t];

}

if(p->flag)

{

   return 1;

}

   else return 0;

}

void Delete(Node *p)

{

  int i;

for(i=0; i<26; i++)

{

   if(p->next[i]!=NULL)

Delete(p->next[i]);

}

  free(p);

}

int main()

{

   int i,j,sum;

 char str[20];

  Tree T;

while(scanf("%d",&n)!=EOF&&n!=0)

{

  Creat(T);

   sum=0;

scanf("%d",&m);

for(i=0;i<n;i++)

scanf("%s",a[i]);

for(i=1;i<=m;i++)

{

scanf("%s",str);

insert(T,str);

}

for(i=0;i<n;i++)

{

j=search(T,a[i]);

if(j)

sum++;

}

printf("%d\n",n-sum);

Delete(T);

}

return 0;

}

oj1500(Message Flood)字典树的更多相关文章

  1. STL 之map解决 Message Flood(原字典树问题)

                                                                                      Message Flood Time ...

  2. Luogu P2922 [USACO08DEC]秘密消息Secret Message 字典树 Trie树

    本来想找\(01Trie\)的结果找到了一堆字典树水题...算了算了当水个提交量好了. 直接插入模式串,维护一个\(Trie\)树的子树\(sum\)大小,求解每一个文本串匹配时走过的链上匹配数和终点 ...

  3. [BZOJ1590] [Usaco2008 Dec]Secret Message 秘密信息(字典树)

    传送门 看到前缀就要想到字典树! 看到前缀就要想到字典树! 看到前缀就要想到字典树! #include <cstdio> #include <iostream> #define ...

  4. poj 2503:Babelfish(字典树,经典题,字典翻译)

    Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 30816   Accepted: 13283 Descr ...

  5. SDUT1500 Message Flood

    以前做过的用的字典树,可是貌似现在再用超内存....求解释... 问了LYN用的map函数做的,又去小小的学了map函数.... http://wenku.baidu.com/view/0b08cec ...

  6. POJ 1451 - T9 - [字典树]

    题目链接:http://bailian.openjudge.cn/practice/1451/ 总时间限制: 1000ms 内存限制: 65536kB 描述 Background A while ag ...

  7. 数据结构~trie树(字典树)

    1.概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. 我理解字典树是看了这位大佬博客.还不了解字典树的 ...

  8. zoj1109-Language of FatMouse 【字典树】

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=109 Language of FatMouse Time Limit: 10 S ...

  9. HDU1298 字典树+dfs

    T9 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

随机推荐

  1. elasticsearch基础----->elasticsearch环境的搭建

    这里面我们主要是在ubuntu系统上对elasticsearch进行一个环境的搭建,记录一下这个过程中遇到的一些问题以及解决方案.我总是躲在梦与季节的深处,听花与黑夜唱尽梦魇,唱尽繁华,唱断所有记忆的 ...

  2. Qt编写带频谱的音乐播放器

    之前有个项目需要将音频文件的频谱显示出来,想了很多办法,后面发现fmod这个好东西,还是跨平台的,就一个头文件+一个库文件就行,简单小巧功能强大,人家做的真牛逼.为了不卡住界面,采用了多线程处理. 可 ...

  3. intellij2016.03激活

    激活的时候采用server的方式 :http://jetbrains.tech

  4. 视频播放效果--video.js播放mp4文件

    HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC 参考网址 http://www.w3school.com.cn/html5/html_5_video.asp 视频格式 ...

  5. G711算法学习

    采样和量化 首先需要明确的两个概念,“采样”和“量化”.对于给定的一个波形,采样是从时间上将连续变成离散的过程,而采样得到的值,可能还是不能够用给定的位宽(比如8bit)来表示,这就需要经过量化,即从 ...

  6. 题目1091:棋盘游戏(DFS)

    题目链接:http://ac.jobdu.com/problem.php?pid=1091 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  7. 题目1440:Goldbach's Conjecture(哥达巴赫猜想)

    题目链接:http://ac.jobdu.com/problem.php?pid=1440 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  8. MySQL的ALTER变更、正则查询、分组查询、排序查询以及事务查询的概

    MySQL的表和字段信息的变更 ALTER TABLE table-name DROP column-name; #删除某个字段 ALTER TABLE table-name ADD column-n ...

  9. 23种设计模式之观察者模式(Observer)

    观察者模式又称为发布—订阅模式.模型—视图模式.源-监听器模式或从属者(dependents)模式,是一种对象的行为型模式.它定义了对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相 ...

  10. 《C与指针》——高级指针话题

    指针真是让人又爱又恨..... 首先还是先来看一下C语言中的高级指针声明.不要被表面迷惑最重要. /* ** <C和指针>——高级指针话题 */ int i; //定义一个整型变量 int ...