Решение: Максимальная цепочка пар BC
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых пара символов $BC$ в указанном порядке встречается ровно 190 раз.
В ответе запишите число — количество символов в найденной последовательности. Для выполнения задания следует написать программу.
Решение по шагам
3 шагаСчитаем количество вхождений подстроки $BC$ в каждом рассматриваемом непрерывном фрагменте файла. Вхождения могут начинаться на соседних позициях, поэтому проверяем каждую пару соседних символов.
$$s[i] = B \text{ и } s[i+1] = C$$Для каждой левой границы фрагмента постепенно сдвигаем правую границу вправо, поддерживая число найденных пар $BC$. Если число стало равно 190, обновляем максимальную длину.
После обработки всего файла в качестве ответа выбирается максимальная длина фрагмента, содержащего ровно 190 вхождений $BC$.
Числовой ответ определяется по содержимому прилагаемого текстового файла.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Подсчитывают только непересекающиеся пары, хотя нужно считать все вхождения $BC$.
Ищут максимальную длину фрагмента, содержащего не менее 190 пар, вместо ровно 190.
Учитывают отдельные буквы B и C, а не последовательность из двух соседних символов.