题目

用字典树可以过,可是我写的字典树一直各种错误,,,

所以,我用了别的更简便的方法、、

//去你妹的一直有问题的字典树!!!

////字典树,树的根是空的
//
////#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[];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=;i<n;i++)
{
cin>>s[i];
}
sort(s,s+n);//排序之后,若有前缀关系,则前一个一定是后一个的前缀
int flag=;
for(int i=;i<n;i++)
{
int len=s[i-].length();
string ss(s[i],,len);//C++中string的操作:复制函数:s[i]的 0~j 位复制给ss
if(ss==s[i-])
{
flag=;break;
}
}
if(flag)printf("YES\n");
else printf("NO\n");
}
return ;
}

HDU 1671 Phone List(字符处理)的更多相关文章

  1. HDU 1671 Phone List(Trie的应用与内存释放)

    Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. HDU 1711 Number Sequence (字符串匹配,KMP算法)

    HDU 1711 Number Sequence (字符串匹配,KMP算法) Description Given two sequences of numbers : a1, a2, ...... , ...

  3. hdu 1671 Phone List 字典树

    // hdu 1671 Phone List 字典树 // // 题目大意: // // 有一些电话号码的字符串长度最多是10,问是否存在字符串是其它字符串的前缀 // // // 解题思路: // ...

  4. HDU 1671 (字典树统计是否有前缀)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Problem Description Given a list of phone number ...

  5. HDU 5716 带可选字符的多字符串匹配(ShiftAnd)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5716 [题目大意] 给出一个字符串,找出其中所有的符合特定模式的子串位置,符合特定模式是指,该子串 ...

  6. HDU 1671 Phone List (Trie)

    pid=1671">Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  7. HDU 1671 Phone List (Trie·数组实现)

    链接:http://blog.csdn.net/acvay/article/details/47089657 题意  给你一组电话号码  判断其中是否有某个电话是另一个电话的前缀 字典树的基础应用   ...

  8. POJ 3630 , HDU 1671 Phone List - from lanshui_Yang

    这道题也是一道找前缀的问题,很自然地要用到Trie树,但是如果用动态Trie树(即用指针开辟内存)的话,虽然在HDU上可以过(可能是HDU的数据比较水),但在POJ上会TLE , 所以这道题只能用静态 ...

  9. HDU 1020(连续同字符统计 **)

    题意是要统计在一段字符串中连续相同的字符,不用再排序,相等但不连续的字符要分开输出,不用合在一起,之前用了桶排序的方法一直 wa,想复杂了. 代码如下: #include <bits/stdc+ ...

随机推荐

  1. C# 将\u1234类型的字符转化成汉字

    用代码获取网页的json数据时,经常会出现\u1234等字符,其实我们是知道他是汉字的 可以用下面的方法将\u1234翻译成汉字 /// <summary> /// /// </su ...

  2. sp.ui.rte.js参数错误

    出现这个错误的原因是,在新建页面我用spd隐藏了两行不需要的填写的控件. 去掉这两个隐藏属性就可以了.

  3. qt QSS文件伪状态

    表 1. 伪状态列表伪状态    描述:checked    button部件被选中:disabled    部件被禁用:enabled    部件被启用:focus    部件获得焦点:hover  ...

  4. c语言编程之二叉排序树

    二叉排序树,又称为二叉查找树.它是一颗空树,或者是具有下面的性质的二叉树: 1.若它的左子树不空,则左子树上所有节点的值均小于它的根结构的值: 2.若它的右子树不空,则右子树上所有节点的值均大于它的根 ...

  5. Asp.Net 操作word 第二篇[推荐]

    引言:前段时间有项目要用c#生成Word格式的计算报告,通过网络查找到很多内容,但是都很凌乱,于是自己决定将具体的步骤总结整理出来,以便于更好的交流和以后相似问题可以迅速的解决! 现通过具体的示例演示 ...

  6. kibana 修改Ico图标

    修改此路径下的E:\happy\kinbana\kibana-4.2.2-windows\kibana-4.2.2-windows\optimize\bundles的commons.bundle.js ...

  7. The finnacial statements,taxes and cash flow

    This chapter-2 we learn about the the financial statements(财务报表),taxes and cash flow.We must pay par ...

  8. vs2012 condition_variable notify_one 崩溃

    vs2012项目中用到 condition_variable系统方法,程序运行过程过程中偶尔出现notify_one崩溃, 程序运行的服务器系统版本是windows server 2008 R2 SP ...

  9. 前端之JavaScript第四天学习(10)-JavaScript-运算符

    运算符 = 用于赋值. 运算符 + 用于加值. 运算符 = 用于给 JavaScript 变量赋值. 算术运算符 + 用于把值加起来. y=5; z=2; x=y+z; 在以上语句执行后,x 的值是 ...

  10. ACM--South Pacific 2012

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=5 ...