hdu1247Hat’s Words(字典树---判断单词有无组合现象)
来源:互联网 发布:python getopt 详解 编辑:程序博客网 时间:2024/05/19 03:28
1.题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1247
2.参考代码:
#include <cstdio>#include <cstring>struct node{int flag; ///标记是否到达树的尾部node* next[26];node(){flag=0;memset(next,0,sizeof(next));}};node* root=NULL;void build(char* s){ ///建树node* p=root;int len=strlen(s);for(int i=0;i<len;i++){if(!p->next[s[i]-'a'])p->next[s[i]-'a']=new node;p=p->next[s[i]-'a'];}p->flag=1; ///标记已到达单词尾部}int find(char* s){ ///查找node* p=root;int len=strlen(s);for(int i=0;i<len;i++){if(!p->next[s[i]-'a'])return 0;p=p->next[s[i]-'a'];}if(p->flag) ///判断是否已经到达最后一个字母,避免只有前部分的相同return 1;elsereturn 0;}void Delete(node* p){for(int i=0;i<10;i++) {if(!p->next[i])Delete(p->next[i]);}delete p;}int main(){root=new node;int i,j,k,c=0;char str[50001][20];//while(gets(str[c])) ///不能用gets()接收 while(~scanf("%s",str[c])){build(str[c]);c++;}for(i=0;i<c;i++){int len=strlen(str[i]);int count=0,x,y;char a[20],b[20];for(j=0;j<len;j++) ///将字符串分段检索{count++; ///计算单词个数x=0;y=0; ///x和y是计算拆分后2个单词的个数for(k=0;k<len;k++){if(k<count)a[x++]=str[i][k];elseb[y++]=str[i][k];}a[x]='\0'; ///单词最后的'\0'别忘了b[y]='\0';if(find(a) && find(b)){printf("%s\n",str[i]);break;}}}Delete(root);return 0;}
- hdu1247Hat’s Words(字典树---判断单词有无组合现象)
- hdu1247Hat’s Words (组合单词,字典树+DFS)
- 【字典树】HDU1247Hat’s Words
- hdu1247Hat’s Words
- HDU1247Hat’s Words--Trie
- hdu1247Hat’s Words
- hdu1247Hat’s Words
- HDU1247Hat’s Words
- hdu1671Phone List(字典树---判断有无相同的前缀单词)
- hdu 1247 Hat’s Words 字典树统计单词
- hdu 1247 Hat’s Words 字典树单词拼接
- hdu Hat‘s Words(字典树)
- HDU_1247_Hat’s Words(字典树)
- Hat’s Words(字典树)
- HD_1247Hat’s Words (字典树)
- HDU1247 Hat’s Words (字典树)
- hdu1247 Hat’s Words(字典树)
- HDU1247:Hat’s Words(字典树)
- socket
- 如何制作cab包(解决不能注册的问题)
- 狄利克雷过程(dirichlet process )的五种理解
- OO ALV(一屏幕显示多个ALV, 双击事件)例子
- 默认角色CONNECT 和RESOURCE角色具有哪些权限
- hdu1247Hat’s Words(字典树---判断单词有无组合现象)
- ZOJ 1298 Dijkstra
- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
- Dirichlet distribution的两种理解方式
- Calendar.DAY_OF_MONTH
- Thinkphp常用常量
- Windows下NDK开发环境的搭建(Cygwin+Android-SDK+NDK)
- weblogic server 启动脚本
- 看懂信息检索和网络数据挖掘领域论文的必备知识总结