eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Неточный поиск

Неточный поиск

Задача поиска заданной подстроки в тексте имеет неоспоримое значение и ее решение реализовано в большинстве языков программирования в виде функциональности стандартной библиотеки. Однако, зачастую необходимо решать задачу неточного поиска. Назовем расстоянием между двумя строками \textbf{a} и \textbf{b} наименьшее количество операций, необходимое для того, чтобы строку \textbf{a} перевести в строку \textbf{b}. Разрешенные операции: замена любого символа любым другим, вставка любого символа в произвольную позицию в строке и удаление произвольного символа. Например, расстояние между строками "\textbf{кот}" и "\textbf{конь}" равно \textbf{2}. Ваша задача в заданном тексте найти подстроку, которая имеет расстояние до заданной не более \textbf{d}. \InputFile В первой строке записана строка в которой следует осуществлять поиск. Длина строки не менее \textbf{1} символа и не более \textbf{2·10^6}. Далее содержится строка, содержащая образец поиска. Его длина не менее \textbf{1} символа и не более \textbf{50} символов. Заданные строки содержат строчные и прописные буквы латинского алфавита и цифры. Последняя строка содержит целое число \textbf{d} (\textbf{0} ≤ \textbf{d} ≤ \textbf{50}) -- наибольшее расстояние между образцом поиска и искомой подстрокой. \OutputFile Выведите два целых числа \textbf{start}, \textbf{length}, где \textbf{start} -- позиция первого символа найденной подстроки, а \textbf{length} -- ее длина. Нумерация символов в строке начинается с нуля. Если решений несколько, выведите любое.
Лимит времени 2 секунды
Лимит использования памяти 122.17 MiB
Входные данные #1
thisisthetesttext
tester
2
Выходные данные #1
9 4
Входные данные #2
thesecondsampletestforproblemaboutthestrings
pattern
4
Выходные данные #2
12 5