#416. 卡片接龙
卡片接龙
题目描述
强哥在学校组织的“传承接力”知识比赛中担任队长,比赛规则如下:
有 张知识卡片,每张卡片上写着一个词语(由小写字母组成,长度不超过 20)。比赛要求参赛者选择若干张卡片,并按照以下规则进行顺序拼接:
- 只能按卡片原有顺序选择,即选择时卡片编号 的卡片 必须排在卡片 之后;
- 只有当一张卡片的末尾字母与另一张卡片的开头字母相同时,后一张卡片才能接在前一张卡片之后。
拼接完成后,如果最终形成的整个字符串的首字母与尾字母相同,则该拼接成果有效。
强哥需要从所有卡片中选出若干张(可以不连续选择),使得按上述规则拼接后得到的字符串长度尽可能长,并且首尾字母相同。请你帮助强哥计算这个最大长度。
输入格式
第一行一个整数 ,表示卡片的数量。
接下来 行,每行一个由小写字母组成的字符串,表示卡片上的词语。
数据范围
每个字符串长度不超过 20
输出格式
输出一个整数,表示按规则拼接并满足首尾相同要求的最长字符串的长度。
样例
5
abc
ccde
cde
cccccccccz
ea
9
样例解释:
选择卡片 1 (abc)、卡片 2 (ccde)、卡片 5 (ea),拼接得到 "abcccdeea",首尾字母均为 a,长度为 9。
1
abcdexyz
0
测试数据 3:
1
q
1