Problem1227--「BJWC2018」词韵

1227: 「BJWC2018」词韵

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

Adrian 很喜欢诗歌中的韵。他认为,两个单词押韵当且仅当它们的最长公共 后缀的长度至少是其中较长单词的长度减一。也就是说,单词 A 与单词 B 押韵 当且仅当 $LCS(A, B) ≥ max(|A|, |B|) – 1$。(其中 LCS 是最长公共后缀 longest common suffix 的缩写) 
现在,Adrian 得到了 $N$ 个单词。他想从中选出尽可能多的单词,要求它们能 组成一个单词序列,使得单词序列中任何两个相邻单词是押韵的。

Input

第一行是一个整数 $N$。 
接下来 $N$ 行,每行一个由小写英文字母组成的字符串,表示每个单词。所有单词互不相同。

Output

输出一行,为一个整数,表示最长单词序列的长度。

Constraints

$30\%$ 的测试数据:$1 ≤ N ≤ 20$,所有单词长度之和不超过 $3,000$。 
$100\%$ 的测试数据:$1 ≤ N ≤ 500,000$,所有单词长度之和不超过 $3,000,000$。

Sample 1 Input

5
ask
psk
k
krafna
sk

Sample 1 Output

4
一种最长单词序列是 ask-psk-sk-k。 

Source/Category

其他比赛 8.3.BJWC