ZOJ-2876

来源:互联网 发布:知行天下品牌策划 编辑:程序博客网 时间:2024/06/17 17:22

数据比较水,直接排序之后前后两个判断前面那个串是否后面串的子串

#include<stdio.h>#include<string.h>#include<stdlib.h>static int cmp(const void *p1, const void *p2){char *s1 = (char *) p1;char *s2 = (char *) p2;return strcmp(s1, s2);}int main(){int t, n;char s[10000][11], temp[11];scanf("%d", &t);while (t--){scanf("%d", &n);while (getchar() != '\n');int i;for (i = 0; i < n; i++)gets(s[i]);qsort(s, n, sizeof(s[0]), cmp);for (i = 0; i < n - 1; i++)if (strlen(s[i]) <= strlen(s[i + 1])){strcpy(temp, s[i + 1]);temp[strlen(s[i])] = '\0';if (!strcmp(s[i], temp))break;}puts(i == n - 1 ? "YES" : "NO");}return 0;}


0 0