
№ 1 Сон пассажираПрограммисту Васе предстоит длительный перелёт в Сириус, во время которого он
планирует хорошо выспаться. Вася засыпает мгновенно, но спит очень чутко. Если в самолёте звучит объявление, Вася тут же просыпается и больше не может уснуть до конца полёта. Вася выяснил заранее, когда будут звучать объявления, и выбрал самый удачный момент для засыпания, чтобы поспать как можно дольше. После приземления Васе обязательно позвонит его бабушка и спросит, сколько он спал.Длительность полета T часов. Об удачном взлете объявляют через S минут после начала полета, об обеде — спустя D минут после начала полета. О предстоящей посадке — за E минут до конца полета.Требуется написать программу, которая определит максимально возможную длительность сна Васи в минутах.Формат входных данныхВходные данные содержат в одной строке четыре целых числа T, S, D, EНа питон 3

Ответы на вопрос

Ответ:
Результат в приложении
Объяснение:
#!/usr/bin/env python3
numbers = input('Введите T S D E: ').split()
num_list = list(map(int, numbers))
if len(num_list) == 4:
t = num_list[0] # Длительность полета, час
s = num_list[1] # Объявление об удачном взлете через, мин
d = num_list[2] # Объявление об обеде через, мин
e = num_list[3] # Объявление о посадке до конца полета за, мин
ti = dict()
ti[s] = 'сразу после взлета'
ti[d-s] = 'после объявления об удачном взлете'
ti[t*60-d-e] = 'после объявления об обеде'
ti[e] = 'после объявления о предстоящей посадке'
tm = max(ti.keys())
print('Заснуть Васе надо ', ti[tm], '. Тогда он проспит: ', tm, ' мин.', sep ='')




Чтобы решить данную задачу, можно воспользоваться следующим алгоритмом:
- Считать входные данные T, S, D, E.
- Вычислить общую длительность полета в минутах, умножив T на 60.
- Вычислить время начала объявления об удачном взлете, добавив S к началу полета.
- Вычислить время начала объявления о обеде, добавив D к началу полета.
- Вычислить время начала объявления о предстоящей посадке, вычтя E из общей длительности полета.
- Вычислить возможное время сна Васи, как разницу между временем начала объявления об обеде и временем начала объявления о предстоящей посадке.
- Если время сна Васи положительное, вывести его. Иначе вывести 0.
Вот пример реализации на языке Python:
pythonT, S, D, E = map(int, input().split())
flight_duration = T * 60
takeoff_announcement = S
lunch_announcement = D
landing_announcement = flight_duration - E
sleep_duration = lunch_announcement - takeoff_announcement
if sleep_duration > 0:
print(sleep_duration)
else:
print(0)
Пример использования:
makefileВходные данные:
10 30 120 20
Вывод:
90
Это означает, что Вася сможет поспать максимум 90 минут, если он заснет после 30 минут полета и проснется за 120 минут до окончания полета.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili