Решение: Максимальный фрагмент без подстроки
Текстовый файл состоит не более чем из 1 200 000 символов $X$, $Y$ и $Z$. Определите максимальное количество идущих подряд символов, среди которых нет подстроки $XZZY$. Для выполнения этого задания следует написать программу.
Для получения ответа необходимо обработать прилагаемый текстовый файл.
Решение по шагам
4 шагаСчитываем всю строку из файла и ищем все вхождения подстроки $XZZY$. Удобно использовать метод поиска подстроки или алгоритм КМП.
Для каждой найденной позиции начала запрещённой подстроки вычисляем длину участка от конца предыдущей запрещённой подстроки до её начала.
После обработки всех вхождений отдельно проверяем участок от конца последней найденной подстроки до конца файла.
Конкретное числовое значение невозможно определить без содержимого прилагаемого текстового файла.
Числовой ответ зависит от содержимого прилагаемого файла.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют только соседние символы и пропускают перекрывающиеся вхождения.
Не учитывают фрагмент после последнего вхождения $XZZY$.
Считают длину самой запрещённой подстроки частью допустимого фрагмента.