hdu 1247 Hat’s Words (字典树模版)
来源:互联网 发布:java监控系统日志抓取 编辑:程序博客网 时间:2024/06/04 19:15
//那个单词是有出现的两个单词构成的# include <cstdio># include <cstring># include <algorithm># include <iostream># define MAX 26using namespace std;typedef struct Trie_Node{ bool isWord; struct Trie_Node *next[MAX];// next是表示每层有多少种类的数} Trie;char s[50000][50];void insert(Trie *root,char *word)//生成字典树{ Trie *p=root; while(*word!='\0') { if(p->next[*word-'a']==NULL) { Trie *temp=(Trie*)malloc(sizeof(Trie)); for(int i=0; i<MAX; i++) { temp->next[i]=NULL; } temp->isWord=false; p->next[*word-'a']=temp; } p=p->next[*word-'a']; word++; } p->isWord=true;}bool search(Trie *root,char *word)//查找单词是否存在{ Trie *p=root; for(int i=0; word[i]!='\0'; i++) { if(p==NULL||p->next[word[i]-'a']==NULL)//若为空集,表示不存以此为前缀的串 return false; p=p->next[word[i]-'a']; } return p->isWord;}void del(Trie *root)//释放空间{ for(int i=0; i<MAX; i++) { if(root->next[i]!=NULL) { del(root->next[i]); } } free(root);//释放malloc申请的空间}int main(){ int i,j; int count=0; char str[50]; Trie *root=(Trie*)malloc(sizeof(Trie)); for(i=0; i<MAX; i++) { root->next[i]=NULL; } root->isWord=false; while(~scanf("%s",str)) { strcpy(s[count++],str); insert(root,str); } for(i=0; i<count; i++) { for(j=1; j<=strlen(s[i])-1; j++) { char temp1[50]= {'\0'}; char temp2[50]= {'\0'}; strncpy(temp1,s[i],j);//枚举两部分 strncpy(temp2,s[i]+j,strlen(s[i])-j); if(search(root,temp1)&&search(root,temp2)) { printf("%s\n",s[i]); break; } } } del(root); return 0;}
0 0
- hdu 1247 Hat’s Words (字典树模版)
- HDU 1247 Hat’s Words(字典树)
- hdu 1247 字典树 Hat’s Words
- HDU 1247 Hat’s Words 字典树
- hdu 1247 Hat’s Words 字典树
- HDU 1247 Hat’s Words(字典树)
- hdu 1247 Hat’s Words(字典树)
- hdu 1247 Hat’s Words字典树
- hdu 1247 Hat’s Words(字典树)
- hdu 1247 Hat’s Words 字典树
- 【字典树】HDU 1247 Hat’s Words
- HDU--1247:Hat’s Words (字典树)
- hdu 1247 Hat’s Words(字典树)
- [字典树] HDU 1247 - Hat’s Words
- hdu 1247 Hat’s Words (字典树)
- HDU 1247 Hat’s Words 字典树
- HDU - 1247 Hat’s Words(字典树)
- hdu 1247 Hat’s Words 字典树
- atoi的正确实现
- Flatten Binary Tree to Linked List
- Hibernate读书笔记之映射,集合映射,关联关系
- Ioc与DI
- 边缘检测值canny算子
- hdu 1247 Hat’s Words (字典树模版)
- CF D. Bag of mice(概率dp)
- JavaSE 反射技术
- 工作量估计的已知和未知
- C# 中对象与Json互转的方法整理笔记
- UVALive 6424 —— Russian Dolls(贪心)
- echo - TCP/UDP 7
- hdu 2412 Party at Hali-Bula(树形DP)
- raspberrypi之没有显示器玩树莓派