**31电话列表

来源:互联网 发布:ipad pro 生产力 知乎 编辑:程序博客网 时间:2024/05/22 05:16
给定一列电话号码,根据没有号码是其他号码的前缀,看看它是否符合要求。让我们来看看下面这列电话号码:
- 紧急呼叫 911
- 艾利丝 97625999
- 鲍博 91125426
在这个案例里,就不可能打电话给鲍博,因为当你拨了鲍博电话前三位数字的时候,电话服务中心将拨通紧急电话。所以,这个电话列表不符合要求。
2.输入描述
输入数据的第一行给出了一个整数,1≤t≤40,表示整个测试案例的个数。每个测试案例的开头一行是n,表示电话号码的个数,1≤n10000。接下去的n行中,每行都是一个不相同的电话号码。每个电话号码都是一个至多10个数字的系列。
3.输出描述
对于每个测试案例,如果它是符合要求的,那么输入“YES”,否则,输出“NO”。
4.输入样例
2
3
911
97625999
91125426
5
113
12340
123440
12345
98346
5.输出样例
NO
YES

#include "stdafx.h"#include<iostream>#include<fstream>#include<algorithm>#include<vector>#include<string>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ifstream fin("D:\\visual studio 2013 code\\test.txt");int num;string str;char ch[80];vector<string>str_v;fin >> num;cout << num << endl;while (fin >> num){//cout << num << endl;scanf_s("%s", &ch);str = ch;str_v.clear();for (int i = 0; i < num; i++){fin >> str;//cout << str << endl;str_v.push_back(str);}sort(str_v.begin(),str_v.end());for (int j = 0; j < str_v.size(); j++){if (str_v[j + 1].find(str_v[j]) == 0){//cout << "no" << endl;printf_s("NO\n");goto RL;}}printf_s("YES\n");//cout << "yes" << endl;RL: continue;}return 0;}


0 0