Ensamblaje de cadenas a partir de fragmentos con longitud máxima

Kotlin Hard functions

Tarea «Ensamblaje de cadenas a partir de fragmentos con longitud máxima»

Se dan N cadenas, compuestas por letras latinas en minúscula (la longitud de cada cadena es de 1 a 100). Es necesario escribir una función que tome una lista de cadenas y devuelva la longitud máxima de la cadena que se puede formar uniendo las cadenas secuencialmente de modo que el último carácter de la cadena actual coincida con el primer carácter de la siguiente. Cada cadena se puede usar como máximo una vez. Si no es posible formar una cadena, devolver 0.

Formato de entrada

La primera línea es un número entero N (1 ≤ N ≤ 20). Luego N cadenas, una por línea.

Formato de salida

Un número entero: la longitud máxima de la cadena (la suma de las longitudes de todas las cadenas en la cadena).

Ejemplos

Ejemplo 1

ENTRADA
10 20
SALIDA
0

Ejemplo 2

ENTRADA
15 15
SALIDA
0
main.kt