Задание №16 — Алгоритмы и программирование
Напишите программу для решения следующей задачи.
На соревнованиях по бегу на 5000 метров для выхода в финал необходимо показать время не более 18 минут 30 секунд.
Сколько спортсменов по результатам соревнований вышли в финал?
Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды время, показанное на дистанции.
Пример работы программы:
Входные данные | Выходные данные |
2 17 15 19 20 | 1 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо подсчитать количество спортсменов, чьё время меньше или равно установленному нормативу. Разберём алгоритм по шагам.
Шаг 1: Анализ условия.
Норматив для выхода в финал составляет 18 минут 30 секунд. Чтобы было удобно сравнивать время каждого участника с нормативом, переведём всё в одну единицу измерения — секунды.
Вычислим норматив в секундах: секунд.
Шаг 2: Описание алгоритма.
1. Сначала программа считывает количество спортсменов .
2. Создаём переменную-счётчик (например, count), в которой будем хранить количество финалистов. Изначально она равна .
3. Запускаем цикл, который повторится раз. Внутри цикла для каждого спортсмена:
а) Считываем два числа: минуты () и секунды ().
б) Переводим время спортсмена в секунды по формуле: .
в) Сравниваем полученное значение с нормативом: если , то увеличиваем счётчик count на .
4. После завершения цикла выводим значение счётчика на экран.
Шаг 3: Реализация на языке Python.
n = int(input())
count = 0
for i in range(n):
m, s = map(int, input().split())
total_seconds = m * 60 + s
if total_seconds <= 1110:
count += 1
print(count)
Проверка на примере:
Входные данные:
2 (количество спортсменов)
17 15 (первый спортсмен: сек. — подходит)
19 20 (второй спортсмен: сек. — не подходит)
Результат: 1.
Ответ: 1
Источник: ФИПИ