HDOJ -- Phone list解题报告

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

Sample Input
2
3
911
97625999
91125426
5
113

12340
123440
12345
98346
Sample Output
NO
YES

代码如下:

 1 #include <iostream>
 2 #include <string>
 3 #include <algorithm>
 4 using namespace std;
 5 string str[10001];
 6 int testnum;
 7 int num;
 8 int main()
 9 {
10     int i;
11     int num;
12     cin>>testnum;
13     while(testnum--)
14     {
15         cin>>num;
16         for(i=0;i<num;i++)
17         {
18             cin>>str[i];
19         }
20         sort(str,str+num);
21 
22         bool flag=false;
23         for(i=0;i<num-1;i++)
24         {
25             if(str[i]==str[i+1].substr(0,str[i].size()))
26             {
27                 flag=true;
28                 break;
29             }
30         }
31 
32         if(flag)            
33             printf("NO\n");        
34         else            
35             printf("YES\n");        
36     }    
37     return 0;
38 }

 

相关文章:

  • 2021-11-01
  • 2021-05-19
  • 2021-07-13
  • 2021-06-09
  • 2021-11-14
  • 2022-12-23
  • 2022-01-21
  • 2021-11-17
猜你喜欢
  • 2022-12-23
  • 2022-01-25
  • 2022-12-23
  • 2022-01-27
  • 2021-11-26
  • 2022-03-08
  • 2021-08-18
相关资源
相似解决方案