将片段组装成最大长度的链

Kotlin Hard functions

任务 «将片段组装成最大长度的链»

给定 N 个由小写拉丁字母组成的字符串(每个字符串的长度为 1 到 100)。需要编写一个函数,该函数接收一个字符串列表,并返回可以组成的最大链长度,链的构成方式为:依次连接字符串,使得当前字符串的最后一个字符与下一个字符串的第一个字符相同。每个字符串最多只能使用一次。如果无法组成任何链,则返回 0。

输入格式

第一行是一个整数 N (1 ≤ N ≤ 20)。接下来 N 行,每行一个字符串。

输出格式

整数——链的最大长度(链中所有字符串的长度之和)。

示例

示例 1

输入
10 20
输出
0

示例 2

输入
15 15
输出
0
main.kt