首页 > 代码库 > HDU 1671 Phone List(字符处理)
HDU 1671 Phone List(字符处理)
题目
用字典树可以过,可是我写的字典树一直各种错误,,,
所以,我用了别的更简便的方法、、
//去你妹的一直有问题的字典树!!!////字典树,树的根是空的//////#include<iostream>//#include<cstdio>////#include<list>//#include<algorithm>//#include<cstring>////#include<string>////#include<queue>////#include<stack>////#include<map>////#include<vector>////#include<cmath>////#include<memory.h>//原来G++里面没有这个库////#include<set>//using namespace std;////#define ll __int64//int pos;//struct tt//{// int arr[15],val;//val 记录数目的//}a[900010];//用数组模拟,总会遇上内存或大或小的情况。。。。////void insert(char *s,int id,int d,int len)//{// if(d==len)return ;//// int t=s[d]-‘0‘;// if(a[id].arr[t]==0)// a[id].arr[t]=++pos;// id=a[id].arr[t];//这样子,第一个(0)就是空的,相当于所有值都往后移了一位// a[id].val++;// insert(s,id,d+1,len);//}////bool search(char *s,int id)//{// int len=strlen(s);// for(int i=0;i<len;i++)// {// int t=s[i]-‘0‘;// //因为一定能找到一个(就是它本身),所以不需要if// // if(a[id].arr[t]==-1)return 0;// // else // id = a[id].arr[t];// }// //除了本身前缀,还有至少一个// if(a[id].val>1)return 1;//为了便于这边找值,所以字典树建树的时候,第一个(也就是0)要空出来// return 0;//}////int main()//{// int t;// scanf("%d",&t);// while(t--)// {// int n;// scanf("%d",&n);// int pos=0;// memset(a,0,sizeof(a));// char s[10010][15];// for(int i=0;i<n;i++)// {// scanf("%s",s[i]);// int len=strlen(s[i]);// insert(s[i],0,0,len);// }// int flag=0;// n--;// for(int i=0;i<n;i++)// {// if(search(s[i],0))// {// flag=1;// break;// }// }// if(flag==1)printf("NO\n");// else printf("YES\n");// }// return 0;//}////我用别的方法做了,你妹妹的//吃饭前若能过了,,,,我就去吃饭#include<iostream>#include<string>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int main(){ int t,n; string s[10010]; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<n;i++) { cin>>s[i]; } sort(s,s+n);//排序之后,若有前缀关系,则前一个一定是后一个的前缀 int flag=1; for(int i=1;i<n;i++) { int len=s[i-1].length(); string ss(s[i],0,len);//C++中string的操作:复制函数:s[i]的 0~j 位复制给ss if(ss==s[i-1]) { flag=0;break; } } if(flag)printf("YES\n"); else printf("NO\n"); } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。