Рассмотрим следующую простую задачу:
Пусть

- произвольные непустые строки.
Пусть дана строка

, где

. Надо найти нетривиальные

(попроще и пооптимальнее) и определить, в каком случае задача разрешима. У меня получилось, что задача разрешима, если

и неверно, что все

начинаются на один символ и неверно, что все

заканчиваются на один символ. Алгоритм решения состоит в том, чтобы брать начало и с конец строки и искать их вхождения в

так, чтобы все вхождения были сочленены, а начало и конец максимальны по длине.
При анализе быдлокода у меня часто возникают такая и более сложные задачи.

имеет более сложный вид:

,

,

и т.п., надо найти все константы

и минимальные ограничения на

.
Желательно найти как можно более простые критерии их разрешимости и как можно более простые и одновременно быстрые алгоритмы их решений.
В качестве необходимого условия разрешимости можем принять, что

и неверно, что все

начинаются на один символ и неверно, что все

заканчиваются на один символ, но достаточно ли оно для разрешимости? В качестве более общего алгоритма решения я даже не знаю, что брать. М.б. поиск одинаковых подстрок в строке, но хотелось бы, чтобы кто-то подтвердил, что это будет работать, поскольку я не вижу, сработает ли это точно или нет
