Присоединиться

11 класс·средний уровень

Определите максимальное количество идущих подряд символов, среди

Условие

Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки XZZY. Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.

Задание 24

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

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

  1. Как рассуждать

    Решение. Будем последовательно считывать символы из файла, постоянно храня последние 4 введённых символа и проверяя, являются ли они строкой XZZY. Если подстрока XZZY не была встречена, прибавляем к счётчику k единицу, если искомая подстрока будет встречена — проверяем, является ли текущее значение счётчика k максимальным, обнуляем счётчик и прибавляем к нему значение 3, чтобы учитывать последние 3 символа подстроки XZZY. То есть в строке XZZYXX максимальное количество идущих подряд символов, не содержащих подстроку XZZY, равно 5: ZZYXX. Приведём решение данной задачи на языке PascalABC.var k, max: integer;c1, c2, c3, c4: char;f: text;begin assign(f,'C:\24.txt'); reset(f); c1 := '0'; c2 := '0'; c3 := '0'; c4 := '0'; k := 0; max := 0; while not Eof(f) do begin c4 := c3; c3 := c2; c2 := c1; read(f, c1); if (c4 = 'X') and (c3 = 'Z') and (c2 = 'Z') and (c1 = 'Y') then begin if k > max then max := k; k := 0; k := k + 3; end else begin k := k + 1; end; end; if k > max then max := k; writeln(max);end. В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ —

Осталось ещё 4 шага

  1. Примечание. Путь к файлу необходимо указать…

  2. Приведём другое решение на языке Python. with…

  3. Приведём решение Александра Винника на языке…

  4. Приведём решение Даниила Комлева на языке…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка символьных строк»

Определите максимальное количество идущих подряд символов, среди — решение с объяснением | Lom Ai