Site icon Информатика Эксперт

Е24.46 среди которых пара символов CD (в указанном порядке) встречается ровно 160 раз

Текстовый файл состоит из символов A, B, C, D, E и F.

Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов CD (в указанном порядке) встречается ровно 160 раз.

Для выполнения этого задания следует написать программу.

Ответ:

ZIP

ЕГЭ по информатике Основная волна 07.06.2024 kompege.ru – задание №24

Решение:

 

ИЛИ

Решение на Python — Алексей Кабанов

два указателя

Объяснение кода:

  1. Чтение строки из файла:

    Открываем файл '24_17535.txt' и читаем первую строку в переменную f.
  2. Инициализация переменных:

    Инициализируем переменные l (левая граница текущего окна), m (максимальная длина подстроки) и kcd (количество встреч пар ‘CD’).
  3. Проход по строке:

    Проходим по строке f с индексом r от 1 до длины строки. Если пара символов f[r-1] + f[r] равна ‘CD’, увеличиваем kcd на 1.
  4. Сдвиг левой границы окна:

    Пока количество пар ‘CD’ больше 160, сдвигаем левую границу окна l вправо. Если пара f[l] + f[l+1] равна ‘CD’, уменьшаем kcd на 1.
  5. Обновление максимальной длины подстроки:

    Если количество пар ‘CD’ равно 160, обновляем максимальную длину подстроки m.
  6. Вывод результата:

    Выводим максимальную длину подстроки, среди которых пара символов CD встречается ровно 160 раз.

Итог:

Этот код решает задачу нахождения максимального количества идущих подряд символов в строке файла, среди которых пара символов CD встречается ровно 160 раз. Используется скользящее окно для поддержания количества пар CD и обновления максимальной длины подстроки.


ИЛИ

сплитом

Объяснение кода:

  1. Чтение строки из файла:

    Открываем файл '24_17535.txt' и читаем первую строку в переменную f.
  2. Замена и разделение строки:

    Заменяем все вхождения ‘CD’ на ‘C D’, чтобы разделить их пробелами, а затем используем метод split для создания списка подстрок, разделенных пробелами.
  3. Поиск максимальной длины подстроки:

    Проходим по списку f с помощью цикла for. На каждой итерации объединяем 161 элемент из списка f в строку a и обновляем значение m максимальной длиной строки a.
  4. Вывод результата:

    Выводим максимальную длину подстроки, среди которых пара символов CD встречается ровно 160 раз.

Итог:

Этот код решает задачу нахождения максимального количества идущих подряд символов в строке файла, среди которых пара символов CD встречается ровно 160 раз. Используется метод replace для замены всех вхождений ‘CD’ на ‘C D’ и метод split для создания списка подстрок, которые затем объединяются в строки для нахождения максимальной длины.

Ответ: 9712

Exit mobile version