РУҚА
24

Решение: Максимальная цепочка пар

ЕГЭ · Информатика · Задание 24 · Массивы и строки
ПовышеннаяФИПИ7663E0Короткий ответ≈ 15 минутРазбор в 4 шага
Условие

Текстовый файл состоит из символов $A$, $B$ и $D$. Определите максимальное количество идущих подряд пар символов $BA$ или $DA$ в прилагаемом файле. Искомая подпоследовательность должна состоять только из пар $BA$, только из пар $DA$ или из пар $BA$ и $DA$ в произвольном порядке следования этих пар.

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

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

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

2

Пара является допустимой, если её первый символ — $B$ или $D$, а второй символ — $A$.

$$s[i] \in \{B,D\} \land s[i+1] = A$$
3

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

$$current = current + 1$$

Алгоритм выполняет один проход по строке и работает за линейное время.

$$O(n)$$
Ответ

Вывести максимальное количество последовательных непересекающихся пар $BA$ или $DA$, найденных в файле.

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

Где здесь ошибаются

Проверять пары со сдвигом на один символ вместо перехода через два символа.

Считать только одинаковые пары $BA$ или только одинаковые пары $DA$, хотя их можно чередовать.

Не обнулять текущую длину цепочки после недопустимой пары.

Не учитывать последнюю пару, если строка заканчивается на символе $A$.

Закрепить приёмВ теме «Массивы и строки» ещё 237 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 24 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Регистрация не нужна.