问题 D: 串串

内存限制:512 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:2 通过:2

题目描述

给你 nn(1≤n≤501≤n≤50)个仅有小写字母组成的字符串 s1,s2,⋯,sns1,s2,⋯,sn,每个字符串的长度不一定相等。你需要选择一个字符串 tt ( tt 不一定在 ss 中选)。神圣值 aa 的定义如下:
  • 对于每个字符串 sisi,你有两种选择:
    • 忽略这个字符串。此时该串的神圣值 ai=0ai=0。
    • 从 sisi 中选择一个与 tt 相等的子串。假设你选的这个子串为 [L,R][L,R],那么 ai=Lai=L。
你需要在选择至少两个串的前提下,最大化∣t∣×∑i=1nai∣t∣×i=1∑nai

输入格式

第一行输入一个整数 TT1≤T≤501T50),表示测试的总数。 对于每个测试样例, 第一行输入一个数 nn1≤n≤501n50) ,表示字符串的个数。 接下来 nn 行,每行一个字符串 sisi (1≤∣s∣≤1051s105)。保证样例中 ∑∣s∣≤1.1×106s1.1×106 。

输出格式

对于每个样例,输出一个数,∣t∣×∑i=1nait×i=1nai 的最大值。若无法取到两个串,请输出 00

输入样例 复制

2
3
a
aa
aaa
1
abc

输出样例 复制

6
0

数据范围与提示

对于第一个样例,我们选择 t=aat=aa。这样神圣值可以选择为 aa = [0, 1, 2]。因此答案为 6。

分类标签