电话号码
来源:互联网 发布:淘宝卖家刷一单10元 编辑:程序博客网 时间:2024/05/15 23:53
9:电话号码
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
给你一些电话号码,请判断它们是否是一致的,即是否有某个电话是另一个电话的前缀。比如:
Emergency 911
Alice 97 625 999
Bob 91 12 54 26
在这个例子中,我们不可能拨通Bob的电话,因为Emergency的电话是它的前缀,当拨打Bob的电话时会先接通Emergency,所以这些电话号码不是一致的。- 输入
- 第一行是一个整数t,1 ≤ t ≤ 40,表示测试数据的数目。
每个测试样例的第一行是一个整数n,1 ≤ n ≤ 10000,其后n行每行是一个不超过10位的电话号码。 - 输出
- 对于每个测试数据,如果是一致的输出“YES”,如果不是输出“NO”。
- 样例输入
2391197625999911254265113123401234401234598346
- 样例输出
NOYES
#include<iostream>#include<cmath>#include<cstring>#include<algorithm>#include<iomanip>#include<queue>#include<stack>#include<vector>#include<set>#include<map>using namespace std;bool flag;struct Node{Node*Child[10];bool flag;Node(){flag=false;memset(Child,0,sizeof(Child));}};int main(){int Test;cin>>Test;while(Test--) {int n;string s;flag=false;cin>>n;Node *root=new Node();while(n--){cin>>s;if(flag)continue;int len=s.length();Node*p=root;for(int i=0;i<len;++i){if(i==len-1&&p->Child[s[i]-'0']!=NULL){flag=true;break;}if(p->Child[s[i]-'0']==NULL){p->Child[s[i]-'0']=new Node();}p=p->Child[s[i]-'0'];if(p->flag){flag=true;break;}}if(!flag)p->flag=true;}if(flag)cout<<"NO"<<endl;else cout<<"YES"<<endl;}return 0;}
阅读全文
0 0
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 查找电话号码
- 电话号码验证
- 查找电话号码
- 电话号码问题
- 电话号码规则
- 电话号码规则
- 电话号码规则
- [面试题] 从抽屉找东西的概率学问题
- Hibernate查询
- I'm just a baby——8月份英语总结
- 洛谷 P2359 三素数数
- PyQT_笔记
- 电话号码
- 寻找多数元素
- git常用命令速查表
- Python中字符串的操作
- CSU-ACM2017暑假集训比赛7
- 使用tweepy爬twitter图片
- 定义一个方法找出输入的三个整数的最大值
- 【POJ
- HDU6147 Pokémon GO II (2017百度之星程序设计大赛