用字典树可以过,可是我写的字典树一直各种错误,,,
所以,我用了别的更简便的方法、、
//去你妹的一直有问题的字典树!!! ////字典树,树的根是空的 // ////#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; }
HDU 1671 Phone List(字符处理)
时间: 2024-11-15 01:03:19