您的位置:首页 > 其它

ACM -- 算法小结(七)Phone list解题报告

2013-09-26 14:09 411 查看
HDOJ -- Phone list解题报告

问题描述:给出一些电话号码,如果有共同前缀则输出NO,如果没有则输出YES。
解题关键:将电话号码进行字符串排序,相邻的电话号码进行比较

Sample Input
2
3
911
97625999
91125426
5
113

12340
123440
12345
98346
Sample Output
NO
YES


代码如下:

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string str[10001];
int testnum;
int num;
int main()
{
int i;
int num;
cin>>testnum;
while(testnum--)
{
cin>>num;
for(i=0;i<num;i++)
{
cin>>str[i];
}
sort(str,str+num);

bool flag=false;
for(i=0;i<num-1;i++)
{
if(str[i]==str[i+1].substr(0,str[i].size()))
{
flag=true;
break;
}
}

if(flag)
printf("NO\n");
else
printf("YES\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: