Я хотел бы найти набор непересекающихся подстрок, которые можно объединить для представления заданного набора строк. Предположим, что данный набор строк
abc0def
zabc1def
abc2defg
тогда наименьший набор непересекающихся подстрок, которые могут быть объединены для формирования полного набора строк выше, равен
abc
def
0
1
2
g
z
Чтобы уточнить: под неперекрывающимися я подразумеваю, что ни один член набора не начинается и не заканчивается одинаковой последовательностью символов.