В файле — одна очень длинная строка: буквы или цифры со знаками действий. Высокий уровень: нужно программой найти самую длинную цепочку символов с заданным свойством или посчитать, сколько раз встречается сочетание; ответ — число, 1 балл.
Ответ
число в поле ответа
Баллы
1 балл
Проверяет
умение написать короткую программу, 10–20 строк, для обработки символьной информации
Сколько времени закладывать
около 18 минут по спецификации ФИПИ
Какие бывают подтипы
Самая длинная серия — Наибольшее число одинаковых символов подряд или заданной буквы подряд.
Участок без запрещённого символа — Самый длинный кусок строки, в котором не встречается заданная буква или выполняется ограничение на её количество.
Подсчёт сочетаний — Сколько раз в строке встречается сочетание букв, в том числе когда вхождения перекрываются.
Правильное выражение — Как в демоверсии: самый длинный кусок из цифр и знаков действий, который читается как правильное арифметическое выражение.
Пример с полным разбором
Условие. В файле записана строка из заглавных латинских букв A, B, C. Найдите наибольшую длину участка строки, в котором никакие две соседние буквы не совпадают. Для примера возьмём короткую строку ABCAABACBBCAB; на экзамене строка в файле намного длиннее.
Участок обрывается там, где стоят две одинаковые буквы подряд: здесь это AA на 4-м и 5-м местах и BB на 9-м и 10-м.
Между обрывами три участка: ABCA длиной 4, ABACB длиной 5 и BCAB длиной 4. Самый длинный — 5.
Программа делает то же за один проход: счётчик длины текущего участка растёт на каждом символе и сбрасывается в 1, когда символ совпал с предыдущим. Сброс именно в 1: вторая буква пары уже начинает новый участок.
Программа на Python: s = open("24.txt").read().strip()best = cur = 1for i in range(1, len(s)):if s[i] != s[i - 1]:cur += 1else:cur = 1best = max(best, cur)print(best)
Ответ: 5
Частые ошибки
Не убирают невидимый символ конца строки при чтении файла, и он портит длину.
Сбрасывают счётчик в 0 там, где текущий символ уже начал новый участок, или в 1 там, где символ в участок не входит.
Считают сочетание встроенным подсчётом, который пропускает перекрывающиеся вхождения, например ABA в строке ABABA.
Перебирают все пары «начало — конец» участка: на строке из миллиона символов такая программа не закончит работу за время экзамена.
Записывают номер места, с которого начинается участок, вместо его длины.
Что нужно знать для задания 24
Оглавление курса «ЕГЭ по информатике» под это задание. Содержание открывается после оплаты.