Шаг 83.
Алгоритмы.
Задача "Secret Pipes"

    На этом шаге рассмотрим постановку задачи "Secret Pipes".

    Фермер Джон хочет как можно дешевле организовать свою систему распределения воды, но он не хочет, чтобы его конкурент фермер Плуто мог предсказать маршруты, которые он выбирает. ФД знает, что такая задача обычно требует самого дешевого способа прокладки труб поэтому он решил использовать второй по стоимости способ.

    Дан список всех двунаправленных труб, которые могут соединять множество из WC < W < 2 000) станций с водой (каждая из которых может быть встроена в колодец). Ваша задача — найти второй из самых дешевых способов соединить насосные станции, используя не более чем Р (Р < 20 000) труб с заданной стоимостью каждой трубы. Не должно быть трубы, соединяющей станцию саму с собой. Не должно быть двух труб, соединяющих дважды одну и ту же пару станций.

    Гарантируется, что есть только один самый дешевый способ распределшъ воду, и что существует, как минимум, два способа распределить воду. Все стоимости — положительные числа, помещающиеся в 16-битное целое. Водная станция идентифицируется своим номером — целым числом в диапазоне 1 .. W

Ввод:

  • строка 1 - два разделенных пробелом целых числа, W и P;
  • строки 2 ..P + 1 - каждая строка описывает одну трубу и содержит 3 числа, разделенных пробелом, — номера станций начала и конца трубы, а также стоимость этой трубы.
  • Пример ввода:

    5 7
    1 2 3
    2 3 4
    1 4 7
    2 4 11
    2 5 9
    5 4 5
    3 5 8

    Вывод:

        Одна строка, содержащая целое число — вторая минимальная стоимость конструирования системы распределения воды.

    Пример вывода:

        20

        На следующем шаге рассмотрим решение поставленной задачи.




    Предыдущий шаг Содержание Следующий шаг