ЕГЭ Информатика 2021: задача 24 — макс. последовательность

Условие задачи

Текстовый файл содержит не более 10<sup>6</sup> символов ‘x’, ‘y’ и ‘z’. Необходимо определить максимальное количество идущих подряд символов, среди которых каждые два соседних различны. Для решения требуется написать программу.

Решение задачи

Задача предполагает работу с внешним файлом. Процесс решения можно разделить на этапы:

  1. Открытие файла: Файл открывается в режиме чтения (‘r’ в Python, ‘rt’ в Pascal). Рекомендуется использовать конструкцию with open(…) as f: (в Python), обеспечивающую автоматическое закрытие файла. Пример: with open(’24.txt’, ‘r’) as file:
  2. Чтение данных: Содержимое файла считывается в строку, например, методом readline() (file.readline()). Результат (последовательность символов) сохраняется в переменной (например, s).
  3. Обработка данных: Для поиска максимальной последовательности используется цикл for. В цикле сравниваются текущий и предыдущий символы. Если символы различны, счетчик k (количество последовательных различных символов) увеличивается. Если символы одинаковы, k обнуляется. На каждом шаге k сравнивается с максимальным значением k_max, которое обновляется при необходимости.
with open('24.txt', 'r') as file:
    s = file.readline()
k = 1
k_max = 1
for i in range(1, len(s)):
    if s[i] != s[i - 1]:
        k += 1
    else:
        k = 1
    k_max = max(k, k_max)
print(k_max)

Вывод результата

После цикла переменная k_max содержит максимальное количество идущих подряд символов, среди которых каждые два соседних различны. Это значение выводится как ответ.

Задание требует умения работать с файлами, использовать циклы и алгоритмы поиска максимума. Ключевыми для решения являются навыки работы с внешними данными и программирования.

Что будем искать? Например,программа