题目

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

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

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

////字典树,树的根是空的
//
////#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. 刀哥多线程之并发队列gcd-05-dispatch_queue_concurrent

    并发队列 特点 以先进先出的方式,并发调度队列中的任务执行 如果当前调度的任务是同步执行的,会等待任务执行完成后,再调度后续的任务 如果当前调度的任务是异步执行的,同时底层线程池有可用的线程资源,会再 ...

  2. OracleINSERT提示IGNORE_ROW_ON_DUPKEY_INDEX

    OracleINSERT提示IGNORE_ROW_ON_DUPKEY_INDEX insert提示IGNORE_ROW_ON_DUPKEY_INDEX 在 insert into table a() ...

  3. SQLserver中idendity的妙用

    假设:现在有产品信息需要入库,要给每个产品按找预定的规则进行编号,编号规则如下: 产品编码:6位产品类型码+1位仓库码+2位年份+5位顺序码(要求从00001开始自增) 6位产品类型码:P00001 ...

  4. ios开发--KVO浅析

    目标:监听NSMutableArray对象中增加了什么 代码如下: - (void)viewDidLoad { [super viewDidLoad]; self.dataArray = [NSMut ...

  5. SVN中的常见错误(长期更新)

    一 svn中的简写含义. A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify and merGed,本地文件修改并且和服务器的进行合 ...

  6. phpstorm自动对齐数组=>,自动加空格

    写完代码后可以点菜单中code-reformat code,快捷键是option+command+L

  7. ggplot2 学习笔记 (持续更新.....)

    1. 目前有四种主题 theme_gray(), theme_bw() , theme_minimal(),theme_classic() 2. X轴设置刻度 scale_x_continuous(l ...

  8. C语言中链表节点的实现,以及如何实现泛型

    1.C语言中的struct是纯粹的结构体,没有访问权限的概念 2.C语言中用void* 来实现泛型编程,也是C++类和模板底层实现的基础,就是用void*来实现的 #include<stdio. ...

  9. java面试资料总结

    一.java基础部分 1.一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 可以,但是只能有一个public类,且类名与文件名相同 2.java有没有goto? goto是ja ...

  10. 详谈socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生. 而有人或许会问: ...