Читаем таблицу
Строка — один город, столбец — другой. Число в клетке — дорога между ними, пустая клетка — дороги нет. Таблица зеркальна: граф неориентированный. Рёбра читай выше диагонали, чтобы не записать дорогу дважды.
Интерактивный тренажёр · 9 класс · Информатика · Урок 07
В таблице дорог число на пересечении строки и столбца — длина дороги между двумя городами, пустая клетка — дороги нет. Длина пути — сумма весов. Количество путей — это перебор, и веса в нём не складывают. Условие «через пункт» делит путь на два куска, а «не через пункт» вычёркивает пункт из графа.
длина = w₁ + w₂ + …
d(X) = min(d(Y) + w)
через X: d(А→X) + d(X→Ф)
Строка — один город, столбец — другой. Число в клетке — дорога между ними, пустая клетка — дороги нет. Таблица зеркальна: граф неориентированный. Рёбра читай выше диагонали, чтобы не записать дорогу дважды.
Длина пути А→Б→Г — сумма весов. Количество путей — сколько разных последовательностей вершин ведут из А в Г; веса не используют. Вершины в пути не повторяются.
Выпиши пути и сложи веса или подпиши вершины расстояниями: d(А) = 0, а для остальных d(X) = минимум из d(Y) + w по подписанным соседям. Подписывай в порядке возрастания расстояния.
Через X: кратчайший путь А→X плюс кратчайший X→Ф. Не через X: вычеркни X и его дороги и решай обычную задачу. Количество путей с запретом считай так же.
Сначала попробуй решить задачу сам. Затем открывай шаги разбора по одному и сравнивай свой ход мысли.
Прочитай клетки выше диагонали, выпиши рёбра с весами и нарисуй.
Длина — суммируй веса. Количество — перебирай пути, веса не нужны. Есть условие «через» или «не через»?
Не через X — вычеркни X. Через X — найди два куска и сложи.
Выпиши все пути и сравни ответ. Не забудь прямой путь и пути через две вершины.
Ответ — одно число (или «да» / «нет»). Рисунок графа по таблице можно открыть кнопкой, но сначала попробуй прочитать таблицу сам. После первой проверки открывается полный разбор задачи.