HDU-1671-Phone List

来源:互联网 发布:宁皓网 知乎 编辑:程序博客网 时间:2024/05/17 06:08

这个题目的就是求将所有字符串按字典序排序后,若前一个字符串能够在后面一个中找到则输出NO,否则输出YES

比较简单~用strstr函数即可

代码:

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn=10001;struct node{    char str[100];    bool operator <(const node &a)const    {return strcmp(str,a.str)<0;    }}a[maxn];int n;int main(){    int T;    scanf("%d",&T);    while(T--)    {scanf("%d",&n);for(int i=0;i<n;i++)    scanf("%s",a[i].str);sort(a,a+n);int flag=0;for(int i=0;i<n-1;i++)    if(strstr(a[i+1].str,a[i].str)!=NULL)    {flag=1;break;    }if(flag)    printf("NO\n");else    printf("YES\n");    }    return 0;}