Hdu1075 - What Are You Talking About - 字典树
2014-08-03 16:05
281 查看
#include<stdio.h> #include<string.h> struct tree { int count; tree *next[30]; char c[20]; int mark; tree() { count=0; mark=0; for(int i=0;i<26;i++) { next[i]=NULL; } } }*root; void build(char *ch,char *word) { tree *item=root; for(int i=0;word[i]!=NULL;i++) { int j=word[i]-'a'; if(item->next[j]==NULL) { item->next[j]=new tree; } item=item->next[j]; item->count++; } item->mark=1; strcpy(item->c,ch); } char* find(char *word) { tree *item=root; for(int i=0;word[i]!=NULL;i++) { int j=word[i]-'a'; if(item->next[j]==NULL) { return NULL; } item=item->next[j]; } if(item->mark==1) { return item->c; } else { return NULL; } } int main() { root=new tree; char word[3005]; char ch[20]; int j,i; scanf("%s",word); while(scanf("%s",word),strcmp(word,"END")) { scanf("%s",ch); build(word,ch); } scanf("%s",word); getchar(); while(gets(word),strcmp(word,"END")) { int l=strlen(word); int k=0; for(i=0;i<l;i++) { while(word[i]>='a'&&word[i]<='z') { ch[k++]=word[i]; i++; } ch[k]='\0'; char* t=find(ch); if(t!=0) { printf("%s",t); } else { printf("%s",ch); } printf("%c",word[i]); k=0; } printf("\n"); } }
相关文章推荐
- hdu1075 What Are You Talking About (字典树)
- 【字典树】 hdu1075 What Are You Talking About
- hdu1075 What Are You Talking About(qsort二分查找& 字典树查找)
- hdu1075 What Are You Talking About-字典树
- hdu1075 What Are You Talking About(qsort二分查找& 字典树查找)
- hdu1075 ---- What Are You Talking About (字典树)
- HDU1075_What Are You Talking About_stl的map
- hdu 1075 What Are You Talking About(字典树)
- HDU-1075 What Are You Talking About 字典树
- hdu 1075 What Are You Talking About(字典树)
- 字典树详解(附题:HDU 1075 What are you talking about)
- HDU1075 What Are You Talking About 【Map容器】
- hdu 1075 What Are You Talking About(字典树)
- HDOJ 1075 What Are You Talking About(字典树)
- hdu 1075 What Are You Talking About (字典树)
- hud 1075 What Are You Talking About (字典树或map)
- hdu 1075 What Are You Talking About(字典树)
- HDU1075 What Are You Talking About 【STL】
- HDU 1075:What Are You Talking About【字典树 & STL】
- HDU - 1075 What Are You Talking About(字典树)