博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1671 Phone List(字典树)
阅读量:6254 次
发布时间:2019-06-22

本文共 2245 字,大约阅读时间需要 7 分钟。

知道bug的时候我眼泪掉下来。。。

我的第一道字典树,看了字典树的注意事项和实现方式,我写这道题的时候格外认真,就是奔着1A去的。结果这是几A来着?

第一遍写的时候提交MLA,我看了一下,是因为我释放内存的函数写的有问题,‘==’写成了‘=’。修改之后提交wa,这个我就想不明白了,我可是测试了很多组数据的。

之后又尝试性的做了一个小小地修改,再次提交还是wa。然后是各种思考bug,想了好久突然想到我是用数字输入的,这样的话前导0会被忽略掉。

我的1A就这么没了。

 

#include
#include
#include
#define N 15struct node{ node* a[10]; int flag;};node *root;int InsertTree(char *ss){ int k,mark[15]; int ln; ln=strlen(ss); k=0; int i; for(i=ln-1;i>=0;i--) mark[k++]=ss[i]-'0'; node *cur=root; node *s; int flag=0; for(i=k-1;i>=0;i--) { if(i!=0) { if(cur->flag==1) { flag=1; break; } if(cur->a[mark[i]]!=NULL&&cur->a[mark[i]]->flag!=1) cur=cur->a[mark[i]]; else if(cur->a[mark[i]]!=NULL&&cur->a[mark[i]]->flag==1) { flag=1; break; } else { s=(node *)malloc(sizeof(node)); memset(s->a,0,sizeof(s->a)); cur->a[mark[i]]=s; s->flag=0; cur=s; } } else { if(cur->a[mark[i]]!=NULL) { flag=1; break; } else { s=(node *)malloc(sizeof(node)); memset(s->a,0,sizeof(s->a)); cur->a[mark[i]]=s; s->flag=1; cur=s; } } } return flag;}void Free(node *root){ if(root->flag==1) free(root); else { int i; for(i=0;i<=9;i++) { if(root->a[i]!=NULL) Free(root->a[i]); } free(root); } return ;}int main(){ int T; scanf("%d",&T); char s[15]; while(T--) { int n; scanf("%d",&n); getchar(); root=(node *)malloc(sizeof(node)); memset(root->a,0,sizeof(root->a)); root->flag=0; int flag=0; while(n--) { int x; gets(s); if(InsertTree(s)) flag=1; } if(flag) printf("NO\n"); else printf("YES\n"); Free(root); } return 0;}

 

 

转载地址:http://oajsa.baihongyu.com/

你可能感兴趣的文章
如何用大数据开发套件周期调度机器学习算法
查看>>
我学习Linux运维的决心
查看>>
Linux系统引导过程和服务控制
查看>>
fullcalendar 及mysql数据库的工作日管理
查看>>
TFS实现需求工作项自动级联保存
查看>>
crontab定时执行任务
查看>>
LDAP 设置指南(转)
查看>>
cobbler相关报错
查看>>
软件开发--开发中的辅助工具
查看>>
PowerDNS主从模式
查看>>
mysql查询今天、昨天、7天、近30天、本月、上一月 数据
查看>>
单臂路由
查看>>
26期20180627 更换国内源 yum下载rpm包 源码包安装
查看>>
使用阿里云的k8s部署访问环境
查看>>
大数据工程师微职位学习分享
查看>>
企业使用云服务器的优势
查看>>
dubbo Servlet Bridge Server时同时支持hessian和webservice
查看>>
lanmp一键安装包安装说明(包括lamp,lnmp,lnamp安装)
查看>>
Shell命令-文件及内容处理之head、tail
查看>>
aws上的vsftp服务的坎坷经历
查看>>