poj 3630
来源:互联网 发布:喀秋莎录屏软件7下载 编辑:程序博客网 时间:2024/09/21 06:33
这道题是得用静态内存方式的trie树,动态链表形式的trie树会TLE
#include<cstdio>#include<cstring>#include<cstdlib>const int Max=10;using namespace std;struct trie{ int next[Max]; int flag;}node[100000];int num;struct trie root;bool insert(char * str){ int i,len,tem,p; p=0; len=strlen(str); for(i=0;i<len;i++){ tem=str[i]-'0'; if(node[p].next[tem]!=-1){ p=node[p].next[tem]; if(i==len-1) return 1; if(node[p].flag==1) return 1; } else{ node[p].next[tem]=++num; p=num; } if(i==len-1) node[p].flag=1; } return 0;}int main(){ int T,t,n,i; char s[15]; bool yes; scanf("%d",&T); for(t=1;t<=T;t++){ scanf("%d",&n); memset(node,-1,sizeof(node)); ///初始化莫忘 yes=0; num=0; root=node[0]; for(i=1;i<=n;i++){ scanf("%s",s); if(yes==0) if(insert(s)) yes=1; } if(yes==0) printf("YES\n"); else printf("NO\n"); }}
注意写静态内存方式的trie树时不要乱写指针,我就悲剧的调试好久没有结果
#include<cstdio>#include<cstring>#include<cstdlib>const int Max=10;using namespace std;struct trie{ struct trie * next[Max]; int flag; trie(){ flag=0; for(int i=0;i<10;i++) next[i]=NULL; }}node[200000];int num;struct trie root;bool insert(char * str){ int i,len,tem; struct trie* p,q; p=&root; len=strlen(str); for(i=0;i<len;i++){ tem=str[i]-'0'; if(p->next[tem]!=NULL){ if(i==len-1) return 1; if(p->flag==1) return 1; p=p->next[tem]; } else{ q=node[num++]; p->next[tem]=&q; p=&q; } } p->flag=1; return 0;}int main(){ int T,t,n,i; char s[15]; bool yes; scanf("%d",&T); for(t=1;t<=T;t++){ scanf("%d",&n); yes=0; num=1; root=node[0]; for(i=1;i<=n;i++){ scanf("%s",s); if(yes==0) if(insert(s)) yes=1; } if(yes==0) printf("YES\n"); else printf("NO\n"); } system("pause");}
- poj 3630
- poj 3630
- POJ 3630
- poj 3630
- poj 3630
- poj-3630
- POJ 3630
- Poj:3630
- POJ 1056 and POJ 3630
- POJ 3630 Phone List
- POJ 3630 Phone List
- poj 3630 Phone List
- POJ 3630 Trie树
- poj 3630 Phone List
- POJ 3630 Phone List
- Poj 3630 Phone List
- POJ 3630 字典树
- POJ 3630 Phone List
- 自定义UITabBar的背景图片或者颜色
- freemarker常用语法
- UITabBarController 修改背景
- Eclipse快捷键(转载+copy)
- 泛型算法库简介
- poj 3630
- 自定义UITabBarController的tabBar背景图片
- 程序员面试
- 学习FFMPEG,为Encode Filter做准备
- 如何理解、使用Android LogCat以及通过Monkey进行压力测试
- HTML知识备查
- Visual Studio 2010 开发 Silverlight 4 和 RIA Services 应用程序所需的外接程序和必备文件
- 面向对象的理解
- 五种基于RGB色彩空间统计的皮肤检测算法