电话号码
来源:互联网 发布:淘宝店铺域名有什么用 编辑:程序博客网 时间:2024/05/16 19:25
思路问题而已 , 这道题目的意思是后面的电话号码,不能以前面的电话号码为头 也就是 12 123 这样是错的 123 12 这样又是对的
描述
给定一系列电话号码,判断它们是否符合我们的要求。
例如:
110
10086
100861
这个例子就是不符合要求的,因为当你拨打100861前5位时,它将会拨通10086,而10086已经存在于这组号码之中。
输入
第一行输入一个正整数t(1<=t<=40),表示测试数据的组数。接下来有t组数据,每组数据第一行是一个正整数n,表示电话号码个数,其中1<=n<=10000。接下来有n行,每行都是一个不同的电话号码,每个号码最多10位。
输出
对于每个输入,如果它符合要求,输出"YES",否则,输出 "NO"。
样例输入
2
3
110
10086
100861
5
119
1230
12340
1314521
51886
3
110
10086
100861
5
119
1230
12340
1314521
51886
样例输出
NO
YES
YES
#include <iostream>using namespace std;struct fun{char a[120];int len;//保存长度}t[10086];int main(){int nl;cin>>nl;while(nl--){int i, n, p, j;cin>>n;for(i=0; i<n; i++){scanf("%s",&t[i].a);t[i].len = strlen(t[i].a);}int flag=1;for(i=0; i<n; i++){for(p=i+1; p<n; p++)//用后面的所有的电话号码和前面的比较{if(t[p].len>=t[i].len)//注意长度相等的时候也要比,原来一直就只这里错了,一直不对。{for(j=0; j<t[i].len; j++){if(t[p].a[j]!=t[i].a[j])break;}if(j==t[i].len){ flag=0; break; }}}if(flag==0) break;}if(flag)cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;}
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 查找电话号码
- 电话号码验证
- 查找电话号码
- 电话号码问题
- 电话号码规则
- 电话号码规则
- 电话号码规则
- zoj 3568 Exchange for Cola
- README的几种用法
- 看门狗驱动1
- 透明对话框背景
- java class文件
- 电话号码
- libiconv字符集转换库使用方法
- sql server存储过程调试
- rpm命令选项中文说明
- 开始挖掘js与dojo可能踩的坑
- Android基本概念: 应用, 任务, 进程, 和线程
- C#调用exe文件,IIS发布后无法掉用本地exe程序的解决方法
- 给力的Vala
- 函数调用&栈