HDU-1671-Phone List
http://acm.hdu.edu.cn/showproblem.php?pid=1671
字典树,判断是否有某个数字是另一个数字的前缀,注意123不是123的前缀,建树之后要删除节点,否则会Memory LimitExceeded
写的比较麻烦,分两种情况,一是先出现123,再出现1234,;二是先出现1234,再出现123
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;#define N 10005char str[N];struct node{ int count; node *childs[10]; node() { count=0; int i; for(i=0;i<=9;i++) childs[i]=NULL; }};node *root,*current,*newnode;int flag;void del(node *head) { int i; for(i=0;i<=9;i++) if(head->childs[i]!=NULL) del(head->childs[i]); delete(head);}int judge(node *head){ int i; for(i=0;i<=9;i++) if(head->childs[i]!=NULL) return 1; return 0;}void insert(char *str){ int i,m; current=root; for(i=0;i<strlen(str);i++) { m=str[i]-'0'; if(current->childs[m]!=NULL) { current=current->childs[m]; if((i<strlen(str)-1&¤t->count==1)||(i==strlen(str)-1&&judge(current))) { flag=1; break; } } else { newnode=new node; current->childs[m]=newnode; current=newnode; } } current->count=1;}int main(){ int t,i,n; scanf("%d",&t); while(t--) { scanf("%d",&n); flag=0; root=new node; while(n--) { scanf("%s",str); if(flag==1) continue; insert(str); } if(flag) printf("NO\n"); else printf("YES\n"); del(root); } return 0;}
分享到:
相关推荐
为了满足学校师生对于校园生活便捷服务的需求,开发者们专门为杭电校园生活打造了一款Chrome浏览器插件——HDU-GO。该插件不仅能够帮助学生更快捷地访问校园信息资源,还集成了诸如课程表查看、图书馆资源搜索、校园...
HDU-ACM源代码是针对国际大学生程序设计竞赛(ICPC,International Collegiate Programming Contest)中的题目,由参赛者或爱好者编写的解决方案集合。这个压缩包包含上百个源代码,涉及了各种算法和编程技巧,是...
标题中的“hi3861-hdu-iot-application.zip”指代的是一个压缩包文件,它包含了针对Hi3861平台的开发套件,这是一个专为物联网应用设计的开发环境。Hi3861是华为推出的一款面向物联网领域的芯片,它集成了Wi-Fi、...
在本话题中,我们关注的是一个名为"HDU-EID-V2-核心板1"的特定设计,它涉及到STM32的核心组件、接口、电源管理和调试配置。 首先,核心板设计中提到了F103和F207两个型号的STM32芯片。F103和F207属于STM32的不同...
期末复习自行整理资料分享_HDU-fuxiziyong
标题中的“算法-数塔(HDU-2084)”是指一个编程竞赛题目,源自杭州电子科技大学(HDU)的在线编程平台。在这个问题中,参赛者被要求解决一个名为“数塔”的算法挑战。数塔问题通常涉及到递归、深度优先搜索(DFS)...
《2019-hdu-multi-(2019杭电多校第二场数据与标程).zip》是一个专门针对编程竞赛爱好者和ACM(国际大学生程序设计竞赛)参赛者的资源包。这个压缩文件的核心内容是2019年杭州电子科技大学(HDU)主办的多校联合...
【标题】"HDU-2000-2099.zip_hdu2000" 是一个包含杭电(Hangzhou Dianzi University)ACM竞赛题目解题报告的压缩包,覆盖了编号从2000到2099的题目。这个资源对于学习算法、提高编程技巧以及准备ACM/ICPC(国际大学...
这个名为"HDU-2000-2099.rar_hdu"的压缩包包含了该平台从2000到2099共100道题目的源代码。这些题目涵盖了初级到高级的各种算法,对于学习和提升编程技能非常有帮助。 首先,我们来看看这些题目可能涉及到的基础知识...
算法-免费馅饼(HDU-1176)(包含源程序).rar
个人数据库原理课程设计的期末作业留档_HDU-suspermarket_sys.zip文档是关于数据库原理的教学实践成果,主要面向高校计算机科学与技术专业的学生。这份作业不仅包括了数据库理论知识的运用,还融入了实际操作环节,...