решай.ai · шпаргалка

Задание 4: Формальные описания реальных объектов и процессов

ОГЭ Информатика

Как выглядит

Типичная формулировка: «Между населёнными пунктами A, B, C, D, E построены дороги, протяжённость которых (в километрах) приведена в таблице. Определите длину кратчайшего пути между пунктами A и E. Передвигаться можно только по дорогам, протяжённость которых указана в таблице».

Особенности:

  • таблица квадратная, строки и столбцы соответствуют одним и тем же пунктам;
  • таблица симметрична: расстояние из A в B равно расстоянию из B в A;
  • если между двумя пунктами прямой дороги нет, соответствующая клетка пустая;
  • диагональ (расстояние пункта до самого себя) всегда пустая.

…

Что нужно знать

  • Граф — набор вершин (пунктов) и рёбер (дорог), соединяющих некоторые пары вершин.
  • Вес ребра — числовая характеристика связи, в данных задачах — расстояние в километрах.
  • Путь — последовательность рёбер, соединяющая начальную и конечную вершину, где каждое следующее ребро начинается в вершине, где закончилось предыдущее.
  • Длина пути — сумма весов всех рёбер, входящих в путь: S=w1+w2+⋯+wnS = w_1 + w_2 + \dots + w_n.
  • Симметричность таблицы расстояний: если в ячейке на пересечении строки XX и столбца YY стоит число dd, то и в ячейке на пересечении строки YY и столбца XX стоит то же число dd.
  • Отсутствие ребра: пустая клетка означает, что прямой дороги между этими пунктами нет, а не что расстояние равно нулю.
  • Кратчайший путь — путь с минимальной суммой весов среди всех возможных путей между двумя вершинами; он может состоять не из одного, а из нескольких промежуточных участков.
  • Кратчайший путь по весу и путь с минимальным количеством переходов — разные понятия: путь через две дороги может быть короче одной длинной прямой дороги.

Алгоритм

  1. Выписать все пункты (вершины) и обозначить начальный и конечный пункт из условия.
  2. Построить схему (граф) по таблице: для каждой непустой ячейки нарисовать ребро между соответствующими вершинами и подписать его вес.
  3. Проверить построенный граф на симметричность — сверить, что каждое ребро отражено согласованно в обеих клетках таблицы.
  4. Найти все вершины, напрямую соединённые с начальным пунктом, и вершины, напрямую соединённые с конечным пунктом.
  5. Перебрать все возможные маршруты от начала до конца (через одну, две и более промежуточных вершин), не повторяя вершины в одном маршруте.
  6. Для каждого маршрута посчитать сумму весов рёбер.
  7. Сравнить все полученные суммы и выбрать наименьшую — это и есть ответ.
  8. Сверить ответ: убедиться, что при движении по выбранному маршруту действительно используются только существующие дороги.

Ловушки

  • Путают строку и столбец при чтении таблицы. Нужно чётко фиксировать, какая метка относится к строке, а какая — к столбцу, особенно если таблица напечатана компактно.
  • Принимают пустую клетку за нулевое расстояние. Пустая клетка означает отсутствие прямой дороги, а не расстояние 0 — по такой «дороге» двигаться нельзя.
  • Обрывают перебор маршрутов слишком рано, ограничиваясь только прямой дорогой или путём с одним промежуточным пунктом, и не проверяют более длинные по числу участков, но короче по сумме веса маршруты.
  • Путают кратчайший путь (по сумме весов) с путём с наименьшим числом дорог. Маршрут через три пункта может быть короче маршрута через один пункт, если веса рёбер малы.
  • Ошибаются при сложении весов, особенно когда в маршруте несколько промежуточных вершин — стоит явно выписывать каждое слагаемое. …
reshay.ai/oge/informatika/zadanie-4 — задачи с разборами и тренажёр

Полный гайд и задачи задания 4 →