/v21-5

🎓Algorithms. Homework. C++

Primary LanguageC++MIT LicenseMIT

Постановка задачи

Задана система двусторонних дорог, где для любой пары городов есть соединяющий их путь. Найти город с минимальной суммой расстояний до остальных городов.

Требования

    Docker

или

    g++ (or any other C++ compiler), iostream, stdio.h

Запуск (через Docker)

  1. Собрать образ:

     $ docker build -t v21-5 .
    
  2. Запустить:

     $ docker run -i v21-5
    
  3. Ввести с клавиатуры количество вершин графа, количество рёбер графа, например, 6 6, нажать <Enter>, ввести с клавиатуры через пробел ребра и их цены, например

6 6
1 4 450
4 6 200
6 5 150
5 3 80
4 3 250
3 2 60

Дополнительные варианты запуска (через Docker)

  1. Запустить, подав на вход текстовый файл, содержащий данные:

     $ cat samples/file.txt | docker run -i v21-5
    

Запуск (без Docker)

  1. Скомпилировать:

     $ g++ -o v21-5 main.cpp
    
  2. Запустить:

     $ ./v21-5
    
  3. Ввести с клавиатуры количество вершин графа, количество рёбер графа, например, 6 6, нажать <Enter>, ввести с клавиатуры через пробел ребра и их цены, например

6 6
1 4 450
4 6 200
6 5 150
5 3 80
4 3 250
3 2 60

Дополнительные варианты запуска (без Docker)

  1. Запустить, подав на вход текстовый файл, содержащий данные:

     $ ./v21-5 < samples/file.txt
    

Результат работы

Результат работы содержит информацию о начальных значениях и окончательный ответ.

Пример работы

Граф системы двусторонних дорог

Graph

Файл с входными данными

В первой строке количество вершин, ребёр, далее — рёбра и их цены:

6 6
1 4 450
4 6 200
6 5 150
5 3 80
4 3 250
3 2 60

Скомпилировать

    $ g++ -o v21-5 main.cpp

Запустить с файлом

    $ ./v21-5 < samples/file.txt