Assemblage de chaînes à partir de fragments avec une longueur maximale

Kotlin Hard functions

Tâche «Assemblage de chaînes à partir de fragments avec une longueur maximale»

Étant donné N chaînes composées de lettres latines minuscules (chaque chaîne a une longueur de 1 à 100). Il est nécessaire d'écrire une fonction qui prend une liste de chaînes et retourne la longueur maximale d'une chaîne que l'on peut former en reliant les chaînes de manière séquentielle, de sorte que le dernier caractère de la chaîne actuelle coïncide avec le premier caractère de la suivante. Chaque chaîne peut être utilisée au plus une fois. S'il est impossible de former une chaîne, retourner 0.

Format d\ entrée

La première ligne est un entier N (1 ≤ N ≤ 20). Ensuite, N chaînes, une par ligne.

Format de sortie

Un entier — la longueur maximale de la chaîne (somme des longueurs de toutes les chaînes dans la chaîne).

Exemples

Exemple 1

ENTRÉE
10 20
SORTIE
0

Exemple 2

ENTRÉE
15 15
SORTIE
0
main.kt