Dans ce défi sur le code préfixe , nous avons appris que les codes de préfixe sont uniquement concaténables.
Cela signifie qu'ils peuvent être réunis sans séparateur et sans ambiguïté.
Par exemple, puisque [1,2,45] est un code préfixe, je peux les joindre ensemble sans séparateur en tant que tel: 1245245112145, et il n'y aura aucune ambiguïté.
Cependant, l'inverse n'est pas toujours vrai.
Par exemple, [3,34] n'est pas un code de préfixe. Cependant, je peux faire la même chose: 3333434334333, et il n'y aura aucune ambiguïté. Vous auriez juste besoin d'un analyseur plus intelligent.
Cependant, [1,11] n'est pas uniquement concaténable, car 1111 peut être interprété de 5 manières.
Objectif
Votre tâche consiste à écrire un programme / une fonction qui prend en entrée une liste de chaînes (ASCII) et à déterminer si elles sont uniquement concaténables.
Détails
Le double compte comme faux.
Notation
C'est du code-golf . La solution la plus courte en octets gagne.
Cas de test
Vrai:
[12,21,112]
[12,112,1112]
[3,4,35]
[2,3,352]
Faux:
[1,1]
[1,2,112]
[1,23,4,12,34]
[1,2,35,4,123,58,8]