[COCI2016-2017#4] Rima
题目描述
规定字符串 $A,B$ 的最长公共后缀的长度为 $\text{LCS}(A,B)$。
当 $\text{LCS}(A,B) \ge \max(|A|,|B|)-1$ 时,我们认为 $A,B$ 两个字符串押韵。
给定 $N$ 个字符串,要求从中组合出一个长度最长的字符串序列(序列长度为该序列所包含字符串的数量),使得序列中相邻两个字符串押韵。
输入输出格式
输入格式
第一行,一个整数 $N$。
接下来的 $N$ 行,每行一个字符串。保证所有字符串互不相同,且总长度不超过 $3 \times 10^6$。
输出格式
输出字符串序列长度的最大值。
输入输出样例
输入样例 #1
4
honi
toni
oni
ovi
输出样例 #1
3
输入样例 #2
5
ask
psk
krafna
sk
k
输出样例 #2
4
输入样例 #3
5
pas
kompas
stas
s
nemarime
输出样例 #3
1
说明
**【样例 2 解释】**
字符串序列 $\texttt{ask-psk-sk-k}$ 长度最大,为 $4$。
**【样例 3 解释】**
没有任何两个字符串押韵,因此任何一个字符串都可以单独组成一个序列,答案为 $1$。
**【数据规模与约定】**
对于 $30\%$ 的数据,$N \le 18$。
对于 $100\%$ 的数据,$1 \le N \le 5 \times 10^5$。
**【提示与说明】**
**题目译自 [COCI 2016-2017](https://hsin.hr/coci/archive/2016_2017/) [CONTEST #4](https://hsin.hr/coci/archive/2016_2017/contest4_tasks.pdf) _T5 Rima_。**
**本题分值按 COCI 原题设置,满分 $140$。**