В этой задаче о префиксном коде мы узнали, что префиксные коды уникально конкатенируемы.
Это означает, что они могут быть объединены без разделителя и без двусмысленности.
Например, поскольку [1,2,45] является префиксным кодом, я могу объединить их без разделителя как такового: 1245245112145, и двусмысленности не будет.
Однако обратное не всегда верно.
Например, [3,34] не является префиксным кодом. Однако я могу сделать то же самое: 3333434334333, и двусмысленности не будет. Вам просто нужен более умный парсер.
Однако [1,11] не является однозначно конкатенируемой, потому что 1111 можно интерпретировать 5 способами.
Цель
Ваша задача - написать программу / функцию, которая принимает список строк (ASCII) в качестве входных данных и определяет, являются ли они уникально конкатенируемыми.
подробности
Дубликат считается ложным.
счет
Это код-гольф . Самое короткое решение в байтах побеждает.
Testcases
Правда:
[12,21,112]
[12,112,1112]
[3,4,35]
[2,3,352]
Ложь:
[1,1]
[1,2,112]
[1,23,4,12,34]
[1,2,35,4,123,58,8]