РУҚА
ЕГЭ · информатика · решения по теме

Решения заданий ФИПИ ЕГЭ по информатике: «Массивы и строки» — с ответами

Каждая задача темы из открытого банка ФИПИ — с ответом и первыми шагами разбора. Полное решение по шагам и официальный ключ — по ссылкам в карточке.

Задания без решений
238
решений с ответами
2 435
задач в предмете
12
страниц списка
181ФИПИ CC2CF4№ 25Повышенная

Изменение элемента массива

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $3, 1, 4, 6, 5, 7, 8, 0, 2, 9$ соответственно, то есть $A[0] = 3$, $A[1] = 1$ и т. д…

  1. 1
    В начале $A[0] = 3$ и $c = 0$. При $i = 1$: $A[1] = 1$, условие не выполняется.
  2. 2
    При $i = 2$: $A[2] = 4 > 3$, поэтому выполняется обмен и $c = 1$. Теперь $A[0] = 4$.

Ещё 4 шага — в полном решении

Решение полностьюОтветРешать самому6 шагов в разборе
182ФИПИ DE2F2D№ 25Повышенная

Максимум среди некратных семи

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от $-10\,000$ до $10\,000$ включительно. Опишите на естественном языке или на одном из языков…

  1. 1
    Последовательно просматриваем все элементы массива.$$i = 1,2,\ldots,20$$
  2. 2
    Если очередной элемент не делится на 7, проверяем, больше ли он текущего максимума. Для первого подходящего элемента удобно отдельно установить начальное значение максимума.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
183ФИПИ E135D6№ 25Повышенная

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от $0$ до $9$. Значения элементов равны $6, 9, 7, 2, 1, 5, 0, 3, 4, 8$ соответственно. Определите значение переменной $c$…

  1. 1
    Изначально массив имеет вид $[6, 9, 7, 2, 1, 5, 0, 3, 4, 8]$, а $c=0$.
  2. 2
    При $i=0$: $6<9$, поэтому выполняется обмен, $c=1$. При $i=1$: $6<7$, выполняется обмен, $c=2$.

Ещё 4 шага — в полном решении

Решение полностьюОтветРешать самому6 шагов в разборе
184ФИПИ E49B50№ 25Повышенная

Обработка массива обменом

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 11. Значения элементов равны 20, 19, 17, 41, 23, 12, 24, 16, 4, 13, 6, 15 соответственно, то есть $A[0] = 20$…

  1. 1
    Так как $n = 0$ и значение $n$ не изменяется, на каждом шаге сравниваются $A[i]$ и $A[0]$. При выполнении условия к $s$ прибавляется индекс $i$, после чего элементы $A[i]$ и $A[0]$ меняются местами.$$s := s + i$$
  2. 2
    Последовательно отслеживая изменения массива, получаем срабатывание условия при индексах $i = 0, 1, 2, 5, 8$.

Ещё 1 шаг — в полном решении

Решение полностьюОтветРешать самому3 шага в разборе
185ФИПИ E6288C№ 25Повышенная

Обработка массива из 30 элементов

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…

  1. 1
    Заведём счётчик подходящих элементов и обнулим его.$$j = 0$$
  2. 2
    Первым проходом просмотрим все элементы массива. Элемент учитывается, если он больше 100 и остаток от деления на 4 не равен нулю.$$a[i] > 100 \land a[i] \bmod 4 \ne 0$$

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
186ФИПИ ECAE49№ 25Высокая

Пара с максимальной суммой

На вход программы поступает последовательность из $n$ целых положительных чисел. Рассматриваются все пары элементов последовательности $a_i$ и $a_j$, такие что $i < j$ и $a_i > a_j$. Среди пар…

  1. 1
    Последовательность просматривается слева направо. В момент обработки числа $x = a_j$ в таблице уже находятся только элементы $a_i$ с индексами $i < j$, поэтому порядок элементов пары автоматически соблюдается.$$i < j$$
  2. 2
    Сумма $y + x$ делится на $117$, если остаток числа $y$ равен $(-x) \bmod 117$. Для каждого остатка храним максимальное предыдущее число с таким остатком и само число для вывода.$$(y + x) \bmod 117 = 0$$

Ещё 5 шагов — в полном решении

Решение полностьюОтветРешать самому7 шагов в разборе
187ФИПИ F1076A№ 25Повышенная

Подсчёт элементов, не делящихся на 7

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования…

  1. 1
    Используем переменную $k$ как счётчик элементов, которые не делятся на 7, и вначале обнуляем её.$$k = 0$$
  2. 2
    Последовательно просматриваем все элементы массива. Если остаток от деления элемента на 7 не равен нулю, элемент не делится на 7.$$a[i] \bmod 7 \ne 0$$

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
188ФИПИ F6FBF6№ 25Высокая

Максимальная сумма пары

На вход программы поступает последовательность из $n$ целых положительных чисел. Рассматриваются все пары элементов последовательности $a_i$ и $a_j$, такие что $i < j$ и $a_i > a_j$. Среди пар…

  1. 1
    Читаем последовательность слева направо. В момент обработки числа $x = a_j$ все сохранённые числа являются элементами с индексами меньше $j$, поэтому условие $i < j$ выполняется автоматически.
  2. 2
    Если $r = x \bmod m$, то для делимости суммы на $m$ остаток предыдущего числа должен быть равен $(m-r) \bmod m$.$$a_i \bmod m = (m - (x \bmod m)) \bmod m$$

Ещё 5 шагов — в полном решении

Решение полностьюОтветРешать самому7 шагов в разборе
189ФИПИ 05BFA6№ 26Высокая

Коробки-матрёшки двух материалов

В магазине для упаковки подарков есть $N$ кубических коробок из материалов двух видов. Одну коробку можно поместить в другую, если длина её стороны хотя бы на $D$ единиц меньше длины стороны другой…

  1. 1
    Запишем каждую коробку как пару: длина стороны и материал. Отсортируем коробки по длине стороны.
  2. 2
    Для коробки длины $x$ и материала $c$ допустимым предшественником является коробка материала $1-c$ с длиной не более $x-D$.

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
190ФИПИ 09681e№ 26Высокая

Обработка журнала сервера

Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации, идентификатор клиента и объём переданных данных — сохраняются в журнале работы, а сам запрос…

  1. 1
    Для каждого запроса преобразуем время в секунды от начала суток и сравниваем его с 11:59:59. Если запрос подходит по времени, увеличиваем суммарный объём данных соответствующего клиента.$$t = 3600h + 60m + s$$
  2. 2
    Перед размещением запроса проверяем, достаточно ли свободного места. Если текущий объём памяти вместе с новым запросом превысит K, текущий объём становится очередной резервной копией, после чего раздел освобождается.$$M + S > K \Rightarrow B_i = M,\ M = 0$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
191ФИПИ 0AF4A5№ 26Высокая

Обработка журнала сервера

Сервер выполняет запросы на передачу данных. Для каждого запроса в журнале указаны время регистрации, идентификатор клиента и объём переданных данных. Переданные данные сохраняются в специальном…

  1. 1
    Для каждого идентификатора клиента поддерживаем суммарный объём переданных данных. Это можно сделать словарём, не храня весь журнал.$$total[C] \mathrel{+}= S$$
  2. 2
    Поддерживаем объём данных, накопленных в специальном разделе. Если очередной запрос не помещается, текущий объём становится резервной копией, после чего раздел освобождается.$$current + S > K \Rightarrow backups.append(current),\ current = 0$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
192ФИПИ 0C1433№ 26Высокая

Коробки-матрёшки

В магазине для упаковки подарков есть $N$ кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки: подарок упаковывается в одну из коробок, та в свою очередь в другую…

  1. 1
    Считаем все размеры коробок и сортируем их по неубыванию. Одинаковые размеры нельзя использовать последовательно, поскольку их разность меньше 7.
  2. 2
    Для каждой позиции вычисляем длину максимальной цепочки, которая заканчивается коробкой на этой позиции: рассматриваем предыдущие коробки с размером не больше текущего минус 7.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
193ФИПИ 1e4F52№ 26Высокая

Обработка журнала сервера

Сервер выполняет запросы на передачу данных, при этом сведения о каждом выполненном запросе (время регистрации, идентификатор клиента и объём переданных данных) сохраняются в журнале работы, а сам…

  1. 1
    Для каждого запроса увеличиваем сумму переданных данных соответствующего клиента на величину $S$.
  2. 2
    Поддерживаем объём данных в специальном разделе. Если текущий объём вместе с новым запросом становится не меньше вместимости раздела $K$, создаём резервную копию накопленных данных, запоминаем её объём и очищаем раздел перед обработкой…

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
194ФИПИ 1F25B2№ 26Высокая

Упаковка коробок матрёшкой

В магазине для упаковки подарков есть $N$ кубических коробок. Подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и так далее. Одну коробку можно поместить в другую, если…

  1. 1
    Считайте из файла все длины сторон коробок и отсортируйте их по возрастанию. Одинаковые коробки можно учитывать отдельно, но использовать две коробки одинакового размера одна внутри другой нельзя.
  2. 2
    Для каждой коробки определите максимальную длину цепочки, заканчивающейся этой коробкой. Предыдущая коробка должна иметь длину стороны не более $a_i - 13$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
195ФИПИ 290F15№ 26Высокая

Камера хранения

Задание выполняется с использованием прилагаемых файлов. Входной файл содержит заявки пассажиров, желающих сдать свой багаж в камеру хранения. В заявке указаны время сдачи багажа и время…

  1. 1
    Создаём массив времени освобождения ячеек. Изначально все ячейки свободны; это можно обозначить временем освобождения 0.
  2. 2
    Заявки обрабатываются в порядке, указанном во входном файле. Для заявки с временем сдачи багажа t просматриваем ячейки по возрастанию номеров.

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
196ФИПИ 38235A№ 26Повышенная

Коробки-матрёшки

В магазине для упаковки подарков есть $N$ кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки: подарок упаковывается в одну из коробок, та в свою очередь в другую…

  1. 1
    Сначала отсортируем все длины сторон коробок по возрастанию. Одинаковые коробки нельзя использовать последовательно, так как разность их сторон меньше 6.$$a_1 \leqslant a_2 \leqslant \dots \leqslant a_N$$
  2. 2
    Будем просматривать отсортированный массив слева направо. Первую выбранную коробку включаем в цепочку, а следующую включаем только при выполнении условия размещения.$$a_i-a_{\text{last}}\geqslant 6$$

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
197ФИПИ 3B2A3F№ 26Высокая

Мероприятия в конференц-зале

Входной файл содержит сведения о заявках на проведение мероприятий в конференц-зале. В каждой заявке указаны время начала и время окончания мероприятия (в минутах от начала суток). Если время начала…

  1. 1
    Считаем мероприятия совместимыми, если начало следующего мероприятия не меньше окончания предыдущего.
  2. 2
    Отсортируем заявки по времени окончания и применим жадный алгоритм: последовательно выбираем мероприятие, которое начинается не раньше окончания последнего выбранного.

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
198ФИПИ 41e442№ 26Высокая

Лидер продаж по артикулам

В магазине продаётся $N$ товаров нескольких артикулов. Товары одного артикула имеют одинаковую цену. Учёт товаров ведётся поштучно, для каждой единицы товара известен её текущий статус: продана или…

  1. 1
    Для каждой записи накапливаем сумму цен и количество товаров. Средняя цена вычисляется как сумма всех цен, делённая на $N$.$$\overline{p}=\frac{\sum_{i=1}^{N}p_i}{N}$$
  2. 2
    Для каждого артикула подсчитываем число проданных товаров $sold$, число оставшихся товаров $left$ и сохраняем цену артикула.

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
199ФИПИ 4522EF№ 26Повышенная

Свободные места в рядах

При онлайн-покупке билета на концерт известно, какие места в зале уже заняты. Необходимо купить билет на такое место в ряду, чтобы перед ним как можно больше идущих подряд кресел с таким же номером…

  1. 1
    Сгруппируем занятые места по номерам рядов и отсортируем номера мест внутри каждого ряда.
  2. 2
    Для двух соседних занятых мест с номерами $a$ и $b$ количество свободных мест между ними равно $b-a-1$. Если первое занятое место в ряду имеет номер $b$, перед ним свободно $b-1$ кресел.$$free=b-a-1$$

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
200ФИПИ 4A2884№ 26Высокая

Выбор места в зале

При онлайн-покупке билета на концерт известны номера занятых мест в зале. Необходимо выбрать свободное место так, чтобы перед ним было как можно больше подряд идущих свободных кресел с тем же…

  1. 1
    Сгруппировать занятые места по номерам рядов.
  2. 2
    Для каждого ряда упорядочить номера занятых мест по возрастанию.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе