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

#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. Delphi应用程序的调试(十)调试器选项

    可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局 ...

  2. Delphi Code Editor 之 基本操作

    Delphi Code Editor 之 基本操作 毫无疑问,Delphi是高度可视化的.这是使用Delphi进行编程的最大好处之一.当然,任何一个有用的程序中都有大量手工编写的代码.当读者开始编写应 ...

  3. 三、K3 WISE 开发插件《K3 WISE开发手册》

    1.VB插件工程的命名.命名空间和生成的DLL命名要一致,否则导致注册不成功! 2.主控台的查询分析工具,添加sql直接报表,代码用到临时表,提示“在对应所需名称或序数的集合中未找到项目” 解决:在代 ...

  4. jenkins不安装任何插件时,是什么样的

    因为jenkins中插件众多,很多时候大家默认安装的话,会默认安装一堆插件.而很多插件会给jenkins的各个方面去增强它, 一致于不清楚哪些功能是插件提供的,还是jenkins自带的. 所以下面将没 ...

  5. 单例模式全面学习(C++版)

    单例模式:用来创建独一无二的,只能够有一个实例的对象. 单例模式的结构是设计模式中最简单的,但是想要完全实现一个线程安全的单例模式还是有很多陷阱的,所以面试的时候属于一个常见的考点~ 单例模式的应用场 ...

  6. 严版数据结构题集2.13 & 2.14

    1.试写一算法在带头结点的单链表结构上实现线性表操作Locate(L,x) 2.试写一算法在带头结点的单链表结构上实现线性表操作Length(L) #include<stdio.h> #i ...

  7. Egret容器的鼠标默认事件

    容器的鼠标默认事件   touchEnabled touchChildren touchThrough DisplayObject false \ \ DisplayObjectContainer f ...

  8. [工具] f.lux – 随时间改变屏幕色温护眼

    f.lux 是一款根据时间变化来改变屏幕色温的软件.让你在深夜也能感受到太阳的温暖,顺便还有助于睡眠. 在 f.lux 里,首先设置一个适合你的变化色温范围,白天的色温控制在 6500K 以下,晚上的 ...

  9. PHPStorm 注册码&主题皮肤

    JetBrains PhpStorm 注册方法: 用浏览器打开 http://idea.lanyus.com/ 点击页面中的“获得注册码” 然后打开PhpStorm,在注册时切换至Activation ...

  10. C++ vs Python向量运算速度评测

    本文的起源来自最近一个让我非常不爽的事. 我最近在改一个开源RNN工具包currennt(http://sourceforge.net/projects/currennt/),想用它实现RNNLM功能 ...