**31电话列表

给定一列电话号码,根据没有号码是其他号码的前缀,看看它是否符合要求。让我们 来看看下面这列电话号码:
- 紧急呼叫 911
- 艾利丝 97625999
- 鲍博 91125426
在这个案例里,就不可能打电话给鲍博,因为当你拨了鲍博电话前三位数字的时候, 电话服务中心将拨通紧急电话。所以,这个电话列表不符合要求。
2.输入描述
输入数据的第一行给出了一个整数,1≤t≤40,表示整个测试案例的个数。每个测试 案例的开头一行是 n ,表示电话号码的个数, 1≤ n 10000。接下去的 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值