Задание 24 ЕГЭ по информатике · DD0C38

Другие формулировкиПовышеннаяКЭС 2.13КЭС 2.14
Задание выполняется с использованием прилагаемых файлов.
Текстовый файл состоит из символов T, U, V, W, X, Y и Z.
Определите в прилагаемом файле минимальное количество идущих подряд символов (длину непрерывной подпоследовательности), среди которых символ W встречается не менее 240 раз.
Для выполнения этого задания следует написать программу.
325_24_DD0C38.txt

Показать ответ
624
Подсказки (3)
  1. Рассмотрите отрезок строки с двумя границами и поддерживайте количество символов W внутри него.
  2. Используйте метод скользящего окна: расширяйте правую границу, а затем сдвигайте левую, пока в окне остаётся не менее 240 символов W.
  3. Для каждого правого конца вычисляйте минимальную длину подходящего окна: right−left+1.
Решение
1. Считываем строку из файла и рассматриваем её как последовательность символов.

2. Двигаем правую границу окна слева направо. При встрече символа W увеличиваем счётчик символов W.
countW+=1

3. Когда в окне становится не менее 240 символов W, сдвигаем левую границу вправо, пока условие сохраняется. На каждом шаге обновляем минимальную длину окна.
L=right−left+1

4. Каждый символ добавляется в окно и удаляется из него не более одного раза, поэтому алгоритм работает за линейное время.
O(n)
Частые ошибки
  • Перебирать все пары границ и получить квадратичную сложность.
  • Не уменьшать счётчик при удалении символа W из левой части окна.
  • Искать только первый подходящий фрагмент, не проверяя возможность его дальнейшего сокращения.

Источник: Открытый банк ФИПИ · openfipi.devinf.ru

Похожие задания

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.