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

Программа и описание алгоритмаВысокаяКЭС 3.2КЭС 3.3
На вход программе подаются сведения о пассажирах, сдавших свой багаж в камеру хранения. В первой строке задано текущее время: через двоеточие два целых числа, соответствующие часам (от 00 до 23 — ровно 2 символа) и минутам (от 00 до 59 — ровно 2 символа). Во второй строке сообщается количество пассажиров N, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет формат: <Фамилия> <время освобождения ячейки>, где <Фамилия> — строка, состоящая не более чем из 20 символов, а <время освобождения ячейки> задано через двоеточие двумя целыми числами, соответствующими часам и минутам. Фамилия и время освобождения ячейки разделены одним пробелом. Сведения отсортированы в порядке времени сдачи багажа. Требуется написать программу, выводящую фамилии пассажиров, которые в ближайшие 2 часа должны освободить ячейки, в хронологическом порядке освобождения ячеек.
Пример входных данных: 10:00; 3; Иванов 12:00; Петров 10:00; Сидоров 12:12. Результат: Петров, Иванов.

Развёрнутый ответ: проверяется по критериям ФИПИ.

Подсказки (3)
  1. Как представить время в минутах, чтобы сравнивать его арифметически и сортировать?
  2. Переведите время в минуты от начала суток. Для каждого пассажира проверьте условие tтек≤t≤tтек+120, затем отсортируйте подходящие записи по времени освобождения.
  3. Разберите строку методом split(), сохраните фамилию и время. После фильтрации используйте сортировку по числовому времени и выведите фамилии.
Решение
1. Текущее время и время освобождения ячейки переводятся в количество минут от начала суток: часы умножаются на 60 и к результату прибавляются минуты.
t=60h+m

2. Пассажир подходит, если время освобождения находится от текущего момента до момента через 2 часа включительно.
tтек≤tосв≤tтек+120

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

4. После сортировки выводятся только фамилии пассажиров, по одной в каждой строке. Например, при текущем времени 10:00 подходят времена 10:00 и 12:00, но не подходит 12:12.

5. Пример реализации на Python:
fromsysimportstdinlines=[line.strip()forlineinstdin]currenth,currentm=map(int,lines[0].split(′:′))current=currenth∗60+currentmn=int(lines[1])passengers=[]forlineinlines[2:2+n]:surname,time=line.split()h,m=map(int,time.split(′:′))minutes=h∗60+mifcurrent<=minutes<=current+120:passengers.append((minutes,surname))passengers.sort()forminutes,surnameinpassengers:print(surname)
Частые ошибки
  • Сравнивать строки со временем лексикографически вместо перевода времени в минуты.
  • Не включать пассажира, освобождающего ячейку ровно через 2 часа.
  • Считать, что входные данные уже отсортированы по времени освобождения.
  • Выводить вместе с фамилией время или другие лишние данные.
  • Не учитывать, что граница ближайших 2 часов включает текущее время.

Источник: Открытый банк ФИПИ

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

27Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять в…Программа и описание алгоритма · 902B8427Рассматриваются все пары различных элементов последовательности: порядок элементов в паре не важен.…Программа и описание алгоритма · BCE6F127На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие…Программа и описание алгоритма · C0417927Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять рядом…Программа и описание алгоритма · E3E82427Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 3…Программа и описание алгоритма · ED6EB927Рассматриваются все пары различных элементов последовательности: элементы пары могут быть расположены в…Программа и описание алгоритма · F9556D27Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять рядом…Программа и описание алгоритма · FB72C927Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 5…Программа и описание алгоритма · FD2DE1

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

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

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

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

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

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

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