#include<stdio.h>#include<string.h>#include<stdlib.h>int cmp(const void *a,const void *b){return(strcmp((char*)a,(char*)b));}int main(){char f[10010][12];
int n,m,flag,i,len,j;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%s",f[i]);
qsort(f,m,sizeof(f[0]),cmp);//对字符串排序
flag=0;
for(i=0;i<m-1;i++)
{
len=(strlen(f[i])<=strlen(f[i+1])?strlen(f[i]):strlen(f[i+1]));//取长度小的,一开始少个等号,WA无数次,郁闷。
if(strncmp(f[i],f[i+1],len)==0)//比较两字符串前len位是否一样
{
flag=1;//有一样的就打印
printf("NO\n");
break;
}
}
if(!flag)
printf("YES\n");
}
return 0;
}
poj3630
最新推荐文章于 2020-09-30 11:03:47 发布