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[];
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(字符处理)的更多相关文章
- HDU 1671 Phone List(Trie的应用与内存释放)
Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 1711 Number Sequence (字符串匹配,KMP算法)
HDU 1711 Number Sequence (字符串匹配,KMP算法) Description Given two sequences of numbers : a1, a2, ...... , ...
- hdu 1671 Phone List 字典树
// hdu 1671 Phone List 字典树 // // 题目大意: // // 有一些电话号码的字符串长度最多是10,问是否存在字符串是其它字符串的前缀 // // // 解题思路: // ...
- HDU 1671 (字典树统计是否有前缀)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Problem Description Given a list of phone number ...
- HDU 5716 带可选字符的多字符串匹配(ShiftAnd)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5716 [题目大意] 给出一个字符串,找出其中所有的符合特定模式的子串位置,符合特定模式是指,该子串 ...
- HDU 1671 Phone List (Trie)
pid=1671">Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- HDU 1671 Phone List (Trie·数组实现)
链接:http://blog.csdn.net/acvay/article/details/47089657 题意 给你一组电话号码 判断其中是否有某个电话是另一个电话的前缀 字典树的基础应用 ...
- POJ 3630 , HDU 1671 Phone List - from lanshui_Yang
这道题也是一道找前缀的问题,很自然地要用到Trie树,但是如果用动态Trie树(即用指针开辟内存)的话,虽然在HDU上可以过(可能是HDU的数据比较水),但在POJ上会TLE , 所以这道题只能用静态 ...
- HDU 1020(连续同字符统计 **)
题意是要统计在一段字符串中连续相同的字符,不用再排序,相等但不连续的字符要分开输出,不用合在一起,之前用了桶排序的方法一直 wa,想复杂了. 代码如下: #include <bits/stdc+ ...
随机推荐
- C# 将\u1234类型的字符转化成汉字
用代码获取网页的json数据时,经常会出现\u1234等字符,其实我们是知道他是汉字的 可以用下面的方法将\u1234翻译成汉字 /// <summary> /// /// </su ...
- sp.ui.rte.js参数错误
出现这个错误的原因是,在新建页面我用spd隐藏了两行不需要的填写的控件. 去掉这两个隐藏属性就可以了.
- qt QSS文件伪状态
表 1. 伪状态列表伪状态 描述:checked button部件被选中:disabled 部件被禁用:enabled 部件被启用:focus 部件获得焦点:hover ...
- c语言编程之二叉排序树
二叉排序树,又称为二叉查找树.它是一颗空树,或者是具有下面的性质的二叉树: 1.若它的左子树不空,则左子树上所有节点的值均小于它的根结构的值: 2.若它的右子树不空,则右子树上所有节点的值均大于它的根 ...
- Asp.Net 操作word 第二篇[推荐]
引言:前段时间有项目要用c#生成Word格式的计算报告,通过网络查找到很多内容,但是都很凌乱,于是自己决定将具体的步骤总结整理出来,以便于更好的交流和以后相似问题可以迅速的解决! 现通过具体的示例演示 ...
- kibana 修改Ico图标
修改此路径下的E:\happy\kinbana\kibana-4.2.2-windows\kibana-4.2.2-windows\optimize\bundles的commons.bundle.js ...
- 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 ...
- vs2012 condition_variable notify_one 崩溃
vs2012项目中用到 condition_variable系统方法,程序运行过程过程中偶尔出现notify_one崩溃, 程序运行的服务器系统版本是windows server 2008 R2 SP ...
- 前端之JavaScript第四天学习(10)-JavaScript-运算符
运算符 = 用于赋值. 运算符 + 用于加值. 运算符 = 用于给 JavaScript 变量赋值. 算术运算符 + 用于把值加起来. y=5; z=2; x=y+z; 在以上语句执行后,x 的值是 ...
- ACM--South Pacific 2012
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=5 ...