напишите программу для решения следующей задачи. участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов. Программа получает на вход количество яхт, принимавших участие в регате N (1< или равно N < или равно 100), затем для каждой яхты вводится 2 числа: Часы и минуты, затраченные на прохождение маршрута. ПРИМЕР: Входные данные 2; 3:25; 2:50.Выходные данные 2:50. Пожалуйста сделайте Pyton
Ответы
Ответ:
n = int(input())
t = 12 * 60
for i in range(n):
h, m = map(int, input().split(':'))
s = h * 60 + m
if s < t:
t = s
print(t // 60, t % 60, sep=':')
Объяснение:
1) Сначала считываем количество яхт в переменную n:
- n = int(input())
2) Потом создаем переменную t с максимальным временем, которое вообще только может быть (12 часов). Выразим это время в минутах (умножением на 60):
- t = 12 * 60
3) Затем в цикле считываем количество часов (h) и минут (m), затраченные каждой яхтой. Так как они разделяются точкой с запятой, указываем это методе split(':')
- for i in range(n):
- h, m = map(int, input().split(':'))
4) В том же цикле сразу же переводим время в минуты: количество часов умножаем на 60 и прибавляем количество минут. Записываем в переменную s:
- s = h * 60 + m
5) Затем сравниваем кол-во часов, пройденных данной яхтой (переменная s), c переменной t. Если это количество меньше времени, которое хранится в t, то записываем его в t. Таким образом, в t всегда будет хранится минимальное на конкретный момент (до следующего ввода) время:
- if s < t:
- t = s
6) Выводим значение переменной t (ведь именно там хранится минимальное время). Но хранится оно там в минутах, поэтому переводим его обратно в часы и минуты: сначала выводим целую часть от деления на 60, а потом остаток от деления на 60. Между ними выводим двоеточие:
- print(t // 60, t % 60, sep=':')
#SPJ1