HDU 1238 Substring

来源:互联网 发布:淘宝系统繁忙 编辑:程序博客网 时间:2024/05/19 06:49

暴力做法,头脑清醒要A不难。

#include <stdio.h>#include <string.h>char s[205][105];char pi[105], pi1[105];int ans, n;int len = 999, tag = -1;int tofind(){for (int len1 = len; len1 > 0; len1--)//子串的长度{for (int i = 0; i + len1 <= len; i++)//子串的头部{int k = 0;memset(pi, 0, sizeof(pi));memset(pi1, 0, sizeof(pi1));for (int j = i; j < i + len1; j++)//pi是正序匹配子串{pi[k] = s[tag][j];pi1[len1 - 1 - k] = pi[k];k++;}int ok = 1;for (int i = 0; i < n; i++){if (i != tag){if (strstr(s[i], pi) == NULL && strstr(s[i], pi1) == NULL){ok = 0;break;}}}if (ok)return len1;}}return 0;}int main(){int T;scanf("%d", &T);while (T--){scanf("%d", &n);len = 999, tag = -1;for (int i = 0; i < n; i++){scanf("%s", &s[i]);if (strlen(s[i]) < len){len = strlen(s[i]);tag = i;}}printf("%d\n", tofind());}return 0;}


0 0
原创粉丝点击