POJ_2001_Shortest Prefixes
2013-04-24 17:15
357 查看
题意:给定N个单词的字典,输出N个单词和这N个单词的确定字符串。
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<map> #include<cmath> using namespace std; struct Trie //字典树结构 { Trie *child[26]; int num; //记录该字母的出现次数 Trie() //构造函数 { num=0; memset(child,0,sizeof(child)); } }; Trie *root,*s; void Create(char *str) //插入单词 { s=root; int i=0; while(str[i]) { int id=str[i]-'a'; if(s->child[id]==0) //如果该字母还没有出现在字典中 { s->child[id]=new Trie; s=s->child[id]; } else { s=s->child[id]; s->num++; } i++; } } void Search(char *str) { s=root; for(int i=0;i<strlen(str);++i) { int id=str[i]-'a'; s=s->child[id]; printf("%c",str[i]); if(s->num==0) break; //如果该字母只出现了一次 } printf("\n"); } char a[1002][30]; int main() { int i=0,j; root=new Trie; while(~scanf("%s",a[i])) { Create(a[i]); i++; } for(j=0;j<i;++j) { printf("%s ",a[j]); Search(a[j]); } return 0; }
相关文章推荐
- POJ【2001】Shortest Prefixes----字典树
- POJ 2001 Shortest Prefixes
- poj 2001 Shortest Prefixes 还不是很没明白,还得再理解理解
- poj 2001 Shortest Prefixes
- POJ2001 Shortest Prefixes trie树模板
- POJ_2001_Shortest_Prefixes_(Trie)
- poj 2001 Shortest Prefixes Trie树
- POJ 2001 Shortest Prefixes 短的前缀 代码整理
- POJ 2001:Shortest Prefixes
- poj2001 Shortest Prefixes trie树
- [字典树] poj 2001 Shortest Prefixes
- [POJ 2001] Shortest Prefixes
- poj 2001 Shortest Prefixes
- POJ 2001 Shortest Prefixes
- POJ 2001 Shortest Prefixes 笔记
- POJ 2001 Shortest Prefixes【字典树】
- POJ 2001 Shortest Prefixes
- poj 2001 Shortest Prefixes ——字典树入门
- POJ 2001 Shortest Prefixes 【 trie树(别名字典树)】
- POJ 2001 Shortest Prefixes【第一棵字典树】