#T0052. 符文拼接

0

符文拼接

题目背景

魔法师有 nn 张符文卡,每张卡片上写着一个由小写字母组成的单词。她希望通过首尾重合的方式将这些卡片拼接成一条尽可能长的符文链。

题目描述

两张符文卡可以拼接,当且仅当前一个单词的某个后缀与后一个单词的某个前缀完全相同,且该公共部分的长度 kk 满足 1k31 \le k \le 3。若存在多个可选的重合长度,则取其中最长的一个;拼接时重合部分只保留一次。

每张符文卡最多可以使用两次。符文链的长度定义为拼接完成后所得字符串的长度,重合部分只计算一次。

请求出符文链能够达到的最大长度。

输入格式

第一行一个整数 nn

接下来 nn 行,每行一个由小写字母组成的单词。单词可能重复出现。

输出格式

输出一行一个整数,表示符文链的最大长度。

样例输入 #1

4
ab
bcc
ccde
ea

样例输出 #1

14

样例说明 #1

一种最长拼接方式为:

ccdeea(重合 e)→ ab(重合 a)→ bcc(重合 b)→ ccde(重合 cc)→ ea(重合 e)→ ab(重合 a)→ bcc(重合 b)。

拼接结果为 ccdeabccdeabcc,长度为 1414。每张符文卡恰好使用了两次。

提示

【数据范围】

对于全部测试数据,1n151 \le n \le 15,每个单词长度为 112020,且仅包含小写字母。

各子任务如下:

子任务编号 分值 nn \le
1 40 8
2 30 12
3 15