решай.ai · шпаргалка
Задание 4: Формальные описания реальных объектов и процессов
ОГЭ Информатика
Как выглядит
Типичная формулировка: «Между населёнными пунктами A, B, C, D, E построены дороги, протяжённость которых (в километрах) приведена в таблице. Определите длину кратчайшего пути между пунктами A и E. Передвигаться можно только по дорогам, протяжённость которых указана в таблице».
Особенности:
- таблица квадратная, строки и столбцы соответствуют одним и тем же пунктам;
- таблица симметрична: расстояние из A в B равно расстоянию из B в A;
- если между двумя пунктами прямой дороги нет, соответствующая клетка пустая;
- диагональ (расстояние пункта до самого себя) всегда пустая.
…
Что нужно знать
- Граф — набор вершин (пунктов) и рёбер (дорог), соединяющих некоторые пары вершин.
- Вес ребра — числовая характеристика связи, в данных задачах — расстояние в километрах.
- Путь — последовательность рёбер, соединяющая начальную и конечную вершину, где каждое следующее ребро начинается в вершине, где закончилось предыдущее.
- Длина пути — сумма весов всех рёбер, входящих в путь: .
- Симметричность таблицы расстояний: если в ячейке на пересечении строки и столбца стоит число , то и в ячейке на пересечении строки и столбца стоит то же число .
- Отсутствие ребра: пустая клетка означает, что прямой дороги между этими пунктами нет, а не что расстояние равно нулю.
- Кратчайший путь — путь с минимальной суммой весов среди всех возможных путей между двумя вершинами; он может состоять не из одного, а из нескольких промежуточных участков.
- Кратчайший путь по весу и путь с минимальным количеством переходов — разные понятия: путь через две дороги может быть короче одной длинной прямой дороги.
Алгоритм
- Выписать все пункты (вершины) и обозначить начальный и конечный пункт из условия.
- Построить схему (граф) по таблице: для каждой непустой ячейки нарисовать ребро между соответствующими вершинами и подписать его вес.
- Проверить построенный граф на симметричность — сверить, что каждое ребро отражено согласованно в обеих клетках таблицы.
- Найти все вершины, напрямую соединённые с начальным пунктом, и вершины, напрямую соединённые с конечным пунктом.
- Перебрать все возможные маршруты от начала до конца (через одну, две и более промежуточных вершин), не повторяя вершины в одном маршруте.
- Для каждого маршрута посчитать сумму весов рёбер.
- Сравнить все полученные суммы и выбрать наименьшую — это и есть ответ.
- Сверить ответ: убедиться, что при движении по выбранному маршруту действительно используются только существующие дороги.
Ловушки
- Путают строку и столбец при чтении таблицы. Нужно чётко фиксировать, какая метка относится к строке, а какая — к столбцу, особенно если таблица напечатана компактно.
- Принимают пустую клетку за нулевое расстояние. Пустая клетка означает отсутствие прямой дороги, а не расстояние 0 — по такой «дороге» двигаться нельзя.
- Обрывают перебор маршрутов слишком рано, ограничиваясь только прямой дорогой или путём с одним промежуточным пунктом, и не проверяют более длинные по числу участков, но короче по сумме веса маршруты.
- Путают кратчайший путь (по сумме весов) с путём с наименьшим числом дорог. Маршрут через три пункта может быть короче маршрута через один пункт, если веса рёбер малы.
- Ошибаются при сложении весов, особенно когда в маршруте несколько промежуточных вершин — стоит явно выписывать каждое слагаемое. …
reshay.ai/oge/informatika/zadanie-4 — задачи с разборами и тренажёр