Информатика

Перегрузка станция за станцией, эффективно! Напишите программу на Python, которая определяет наименее загруженные

Перегрузка станция за станцией, эффективно!

Напишите программу на Python, которая определяет наименее загруженные перегоны в поезде.

Вам дан список пассажиров поезда, и для каждого пассажира известно, на какой станции он садится и на какой выходит.

Вам нужно найти перегоны с наименьшим числом пассажиров.

Входные данные: количество станций N и количество пассажиров P.

Учтите эффективность по времени работы и использование памяти.
Верные ответы (1):
  • Nikolaevich
    Nikolaevich
    68
    Показать ответ
    Описание:
    Для решения этой задачи по определению наименее загруженных перегонов в поезде, мы можем использовать словарь, в котором ключами будут номера станций, а значениями будут количество пассажиров, садящихся и выходящих на данной станции. Мы будем проходить по списку пассажиров и наращивать количество пассажиров для каждой станции. Затем мы найдем минимальное значение в словаре и вернем все ключи, у которых значение равно минимальному.

    Например:
    python
    def find_least_loaded_platform(N, P, passengers):
    platforms = {}
    for i in range(1, N+1):
    platforms[i] = 0

    for passenger in passengers:
    start, end = passenger
    for i in range(start, end+1):
    platforms[i] += 1

    min_load = min(platforms.values())
    least_loaded = [platform for platform, load in platforms.items() if load == min_load]

    return least_loaded

    # Пример использования функции
    N = 5 # Количество станций
    P = 7 # Количество пассажиров

    passengers = [(1, 3), (2, 5), (3, 4), (4, 5), (1, 5), (3, 5), (1, 2)] # Пассажиры в формате (start_station, end_station)

    result = find_least_loaded_platform(N, P, passengers)
    print("Наименее загруженные перегоны:", result)


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

    Практика:
    У вас есть список пассажиров поезда и информация о том, на какой станции они садятся и на какой выходят:

    passengers = [(1, 3), (2, 5), (3, 4), (4, 5), (1, 5), (3, 5), (1, 2)]

    Найдите наименее загруженные перегоны и выведите их номера.
Написать свой ответ: