Итак, я возился со своими алгоритмами шифрования, когда эта проблема привлекла мое внимание:
Предположим, у вас есть строковая операция, заданная следующим псевдокодом:
string go_wacky(string input, int reps)
{
string result = input;
foreach (0..reps)
{
result = insert_substring_at(result, input, random_from_to(0, length(result));
}
return result;
}
Или, в точкеи щелкните по терминологии, скопируйте строку, затем повторите несколько раз, сделав следующее: переместите курсор в произвольную позицию в строке и нажмите «вставить».
С учетом выходной строки и повторов, как извлечь входную строку (кроме «обратного перебора», основанного на восстановлении списка символов исходной строки с использованием повторений и длины вывода)?