oj1500(Message Flood)字典树
大意:输入几个字符串,然后再输入几个字符串,看第一次输入的字符串有多少没有在后面的字符串中出现(后输入的字符串不一定出现在之前的字符串中)
#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)字典树的更多相关文章
- STL 之map解决 Message Flood(原字典树问题)
Message Flood Time ...
- Luogu P2922 [USACO08DEC]秘密消息Secret Message 字典树 Trie树
本来想找\(01Trie\)的结果找到了一堆字典树水题...算了算了当水个提交量好了. 直接插入模式串,维护一个\(Trie\)树的子树\(sum\)大小,求解每一个文本串匹配时走过的链上匹配数和终点 ...
- [BZOJ1590] [Usaco2008 Dec]Secret Message 秘密信息(字典树)
传送门 看到前缀就要想到字典树! 看到前缀就要想到字典树! 看到前缀就要想到字典树! #include <cstdio> #include <iostream> #define ...
- poj 2503:Babelfish(字典树,经典题,字典翻译)
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 30816 Accepted: 13283 Descr ...
- SDUT1500 Message Flood
以前做过的用的字典树,可是貌似现在再用超内存....求解释... 问了LYN用的map函数做的,又去小小的学了map函数.... http://wenku.baidu.com/view/0b08cec ...
- POJ 1451 - T9 - [字典树]
题目链接:http://bailian.openjudge.cn/practice/1451/ 总时间限制: 1000ms 内存限制: 65536kB 描述 Background A while ag ...
- 数据结构~trie树(字典树)
1.概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. 我理解字典树是看了这位大佬博客.还不了解字典树的 ...
- zoj1109-Language of FatMouse 【字典树】
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=109 Language of FatMouse Time Limit: 10 S ...
- HDU1298 字典树+dfs
T9 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
随机推荐
- GitHub----初学习(一)
刚开始学习GitHub,在这借鉴一下别人的总结,http://youngxhui.github.io/2016/05/03/GitHub-for-Windows%E4%BD%BF%E7%94%A8%E ...
- C语言变量的存储布局
分析以下代码中变量存储空间如何分配: //MemSeg.c: 代码无意义,仅供分析用 #include <stdio.h> #include <stdlib.h> //mall ...
- 【大数据系列】hadoop脚本分析
一.start-all.sh hadoop安装目录/home/hadoop/hadoop-2.8.0/ libexec/hadoop-config.sh ---设置变量 sbin/start- ...
- vue经验 - 实战疑点总结
1.注册全局组件(是一个单vue页面组成的一个组件,而不是现拼的template结构) 结构: 代码:main.js import UserList from './components/UserLi ...
- 如何修改 VIM 制表符的空格数?
想修改一下编辑器vi里的制表符(Tab)的空格数.因为它默认的太长(默认是8个空格). 在网上搜到了这篇文章http://my.oschina.net/captaintheron/blog/515 ...
- 原生js--文档加载时间
onload触发时机:文档和所有的图片都加载完毕 DOMContentLoaded触发时机:文档加载并解析完毕,所有deferred脚本执行完毕.但此时图片和async脚本可能依旧在加载. ready ...
- 正则表达式取querystring
var s = decodeURIComponent((new RegExp('[?|&]userid=([^&;]+?)(&|#|;|$)').exec(location.h ...
- php curl-class post
use \Curl\Curl; $curl = new Curl();$curl->setHeader('Content-Type', 'application/json');$curl-> ...
- 【SPOJ419】Transposing is Fun Pólya定理+欧拉函数
[SPOJ419]Transposing is Fun 题意:给你一个$2^a\times2^b$的矩阵,将$1...n$中的数依次从左到右,从上往下填到矩阵里,再把矩阵转置,然后把所有数从左到右,从 ...
- 阿里云安装Oracle
#!/bin/bash #writed by kangjie -- ######################################### #如果没有交换分区swap,则创建 # #检查 ...