题目链接:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=1174
最近刚看到的一个stl中的函数,尝试了一下这道题,还成功了,分享一下,大家随便看看~~函数includes(),比较一个区间是否在另一个区间内,返回一个布尔值。。
下面是这套题我用这个函数改了一下下~~

code:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int f(const void *a,const void *b)
{
return strcmp((char *)a,(char *)b);
}
int main()
{
int n,m,i,j;
char a[10000][11];
scanf("%d",&n);
while(n–)
{
scanf("%d",&m);
getchar();
for(i=0;i<m;i++)
gets(a[i]);
qsort(a,m,sizeof(char)*11,f);
for(i=1;i<m;i++)
{
if(includes(a[i],a[i]+strlen(a[i]),a[i-1],a[i-1]+strlen(a[i-1])))
{
printf("NO\n");
break;
}
else
continue;
}
if(i==m)
printf("YES\n");
}
return 0;
}
菜鸟之作,仅供参考,如有错误,请您指出——Tamara

发表评论

电子邮件地址不会被公开。

Post Navigation