题目描述
给你n个字符串,每个字符串的长度均为d,请你找出这n个字符串都有的一个子串,使得这个子串的长度最大,即求出n个字符串的最长公共子串的长度。
输入格式
输入一行,为两个正整数n和d。
输出格式
输出一行一个整数,表示n个串的最长公共子串长度。
输入输出样例
输入 #1 复制
3 6
aabcab
abcaab
bcabca
输出 #1 复制
4
输入 #2 复制
3 12
AAAAGAATTCTT
AAGAATTCTTTT
GAATTCGAATTC
输出 #2 复制
6
说明/提示
【数据范围】
对于20%的数据:n=1;
对于50%的数据:n≤5,d≤5;
对于100%的数据:n≤30,d≤30。
【样例1说明】
最长公共子串是abca,长度为4。
【样例2说明】
最长公共子串是 GAATTC,长度为6。
#include<bits/stdc++.h>
using namespace std;
int n,d;
string s[35];
bool ok(int len)
{
for(int i=2;i<=n;i