Присоединиться

Информатика·Графы и таблицы·9–11 класс

Как найти кратчайший путь между городами по схеме дорог

Условие

Между посёлками А, Б, В, Г и Д проложены дороги с двусторонним движением: А–Б 3 км, А–В 5 км, Б–В 1 км, Б–Г 7 км, В–Г 3 км, В–Д 9 км, Г–Д 2 км. Других дорог нет. Найдите длину кратчайшего пути из А в Д и укажите сам маршрут.

Ответ

9 км, маршрут А–Б–В–Г–Д

Решение по шагам

  1. Шаг 1. Чем короткий путь отличается от пути с малым числом дорог

    «Кратчайший» — это путь с наименьшей суммарной длиной, а не с наименьшим количеством дорог. Например, маршрут А–В–Д состоит всего из двух дорог, но его длина 5+9=145+9=14 км — как мы увидим, это далеко не лучший вариант.

    Дороги двусторонние, значит по каждой можно ехать в любую сторону.

  2. Шаг 2. Метод меток: расставляем расстояния от А

    Заведём для каждого посёлка метку d(X)d(X) — найденную на данный момент кратчайшую длину пути из А в XX. Начинаем с d(А)=0d(А)=0.

    Прямые дороги из А дают первые метки:

    d(Б)=3d(Б) = 3 км, d(В)=5d(В) = 5 км.

    Дальше метки будем уточнять: если через какой-то посёлок доехать дешевле, метка уменьшается.

Осталось ещё 3 шага — откроются после входа:

  • Шаг 3. Уточняем метки В и Г
  • Шаг 4. Считаем метку Д
  • Шаг 5. Проверка
Получить полное решение

Бесплатно · займёт минуту

Частые ошибки

  • Выбирают маршрут с наименьшим числом дорог (А–В–Д, 14 км) вместо самого короткого по километрам.

  • Сворачивают к финишу при первой возможности: доехав до В, сразу едут по дороге В–Д и получают А–Б–В–Д = 13 км.

  • Не догадываются, что в В выгоднее приехать через Б (4 км), а не напрямую (5 км).

  • Считают, что маршрут из четырёх дорог заведомо хуже маршрута из двух, и даже не проверяют А–Б–В–Г–Д.

Другие задачи по теме «Графы и таблицы»