SDUT-1500-(字典树)
来源:互联网 发布:淘宝上兰可欣那么便宜 编辑:程序博客网 时间:2024/06/06 01:59
字典树,注意到最后用完字典树的时候把字典树删除,要不容易产生空间不足。
#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>using namespace std;struct list{ int leap; struct list *num[26];};int number;char str[10];struct list *code(){ int i; struct list *p; p=new list(); p->leap=0; for(i=0;i<26;i++) { p->num[i]=NULL; } return p;}void in(struct list *q,char *s){ struct list *p; p=q; int n,t,i; n=strlen(s); for(i=0;i<n;i++) { t=s[i]-'a'; if(p->num[t]==NULL) p->num[t]=code(); p=p->num[t]; } p->leap=1;}void search(struct list *q,char *s){ struct list *p; p=q; int n,i,t; n=strlen(s); for(i=0;i<n;i++) { t=s[i]-'a'; if(p->num[t]==NULL) break; p=p->num[t]; } if(p->leap==1) number--; p->leap=0;}void strr(char *s){ int n,i; n=strlen(s); for(i=0;i<n;i++) { if(s[i]>='A'&&s[i]<='Z') s[i]=s[i]+'a'-'A'; }}void del(struct list *p){ int i; if(p) { for(i=0;i<26;i++) { if(p->num[i]) del(p->num[i]); } } free(p); p=NULL;}int main(){ int m,n,i; while(cin>>n,n) { number=n; cin>>m; getchar(); struct list *tree; tree=code(); for(i=0;i<n;i++) { gets(str); strr(str); in(tree,str); } for(i=0;i<m;i++) { gets(str); strr(str); search(tree,str); } printf("%d\n",number); del(tree); } return 0;}
- SDUT-1500-(字典树)
- SDUT 1500 Message Flood(字典树 && 模板)
- A(SDUT-OJ 2892)----字典树
- SDUT 2828 字典树
- SDUT字典树
- 字典树 SDUT OJ 2828
- SDUT OJ 2892——字典树
- 第六届山东省赛I题 Routing Table 字典树 NEU 1588 & UPC 3116 & SDUT 3259
- SDUT 2896 最小生成树(Kruskal)
- sdut 2805(最小生成树)
- Codevs 4189 字典(字典树Trie)
- 字典树(边改边抄)
- 字典树(Trie)
- 字典树(TrieTree)
- Trie(字典)树
- 字典树(非)
- hdu1251(字典树)
- POJ2503_Babelfish(字典树)
- 向量空间_part1
- Silverlight中的ControlTemplate与 TemplateBinding
- 如何完成Apache虚拟主机设置?
- (1)objective c 入门之NSAutoreleasePool
- JDK5 如何获取所有线程池的结果再继续执行
- SDUT-1500-(字典树)
- [转]Windows 8 Metro app开发初体验
- hdu-1075-What Are You Talking About-(字典树)
- 2012年815光复日
- [热身题][hdoj_2036]改(和谐)革春风吹满地(补发8月6日中午)
- Four aspects of making a Great consumer Operating System
- poj 3522 Slim Span
- 《Effective C++》读书笔记之item26:尽可能延后变量定义式的出现时间
- bsearch()函数实现