ОГЭ · №9≈ 6 мин чтенияБесплатно

Задание 9 ОГЭ по информатике: как считать пути в графе

Научитесь считать маршруты по направлению стрелок. Пройдите расчёт на схеме и решите первую задачу. Ниже — разбор обязательной и запрещённой вершины и ещё четыре упражнения.

Попробовать одну задачу
БЫСТРЫЙ СТАРТ

Сумма приходит по стрелкам.

У старта — 1. В следующей вершине складывайте числа у всех её предшественников. Для графа без циклов идите от начала к концу.

Что записать в ответВ ответе — количество маршрутов. Направление стрелок обязательно; число дорог само по себе не является числом путей.

Авторский учебный пример. Полный разбор — ниже.

Посчитайте пути из A в D

Стрелки: A→B, A→C, B→C, B→D, C→D.

Ориентированный граф: A ведёт в B и C; B ведёт в C и D; C ведёт в DA1B?C?D? A: 1 путь — начинаем здесь.

Следующий шаг подсветит входящие стрелки и покажет, какие числа складываем.

Весь расчёт без интерактива

A = 1; B = 1; C = 1 + 1 = 2; D = 1 + 2 = 3. Пути: A–B–D, A–C–D, A–B–C–D.

ТЕПЕРЬ ВАША ОЧЕРЕДЬ

Попробуйте одну задачу

Без регистрации. Если не получится — проверка подскажет, что повторить.

Ответ и объяснение

2. A–C и A–B–C: всего 2.

Сохранить и поделиться разбором

Материал открыт без регистрации: схема, объяснение и самопроверка.

Для преподавателей и сообществ →

ШАГ 01

Главный приём: складываем входящие пути

Рассматриваем ориентированный граф без циклов: двигаться можно только по стрелкам, вернуться по кругу нельзя. У старта ставим 1 — один способ начать путь. Для каждой следующей вершины складываем числа у всех вершин, из которых в неё идут стрелки.

Обрабатывайте вершину только после всех её предшественников. Расположение на рисунке помогает, но порядок определяют именно стрелки.

ШАГ 02

Разбор на схеме

Граф: A ведёт в B и C; B ведёт в C и D; C ведёт в D. Из A в D три пути.ABCD
Стрелки: A → B, A → C, B → C, B → D, C → D.
  1. A: 1. Это старт.
  2. B: 1. В B можно прийти только из A.
  3. C: 1 + 1 = 2. В C приходим из A или из B.
  4. D: 1 + 2 = 3. В D приходим из B или из C.

Ответ: 3 пути. Для проверки их можно выписать: A–B–D, A–C–D, A–B–C–D.

ШАГ 03

Если нужно пройти через заданную вершину

В графе выше найдём пути из A в D, проходящие через B.

  1. Считаем пути до B: 1.
  2. Считаем пути из B в D: 2 — напрямую и через C.
  3. Соединяем первую часть со второй: 1 × 2 = 2 пути.

Это приём для ориентированного графа без циклов. Каждый путь до обязательной вершины соединяется с каждым путём после неё.

Если вершина запрещена: исключите её вместе с прилегающими стрелками. Без B остаётся A → C → D — один путь. Проверка: всего 3 пути; через B — 2; без B — 3 − 2 = 1.

ШАГ 04

Ошибки, которые легко предотвратить

  • У старта пишите 1, а не 0: иначе все последующие суммы обнулятся.
  • Считайте только входящие стрелки. Линия в обратном направлении не даёт нового пути.
  • Пересечение линий без обозначенной вершины не является остановкой.
  • В недостижимой вершине будет 0 путей. Не присваивайте единицу каждой вершине.

Удобная привычка: сначала отметить старт и финиш, затем подписывать маленькие числа прямо у вершин. Не смешивайте число путей с длиной самого короткого пути — это разные вопросы.

ШАГ 05

Более длинный граф: считаем по таблице

Пусть стрелки заданы так: A → B, C; B → D, E; C → D; D → E, F; E → F. Циклов нет. Составим таблицу по входящим стрелкам.

ВершинаРасчётПутей из A
AСтарт1
BИз A1
CИз A1
DИз B и C: 1 + 12
EИз B и D: 1 + 23
FИз D и E: 2 + 35

Ответ: 5 путей. Пять входящих в разные вершины стрелок сами по себе не означают пять маршрутов: считаются способы добраться до каждой вершины, а не количество линий.

ШАГ 06

Запрещённая вершина и проверка кодом

В том же графе запретим проход через D. У D будет 0 путей; из B в E остаётся прямой переход. Поэтому E = 1, F = 1: остаётся только A → B → E → F.

edges = {'A': ['B', 'C'], 'B': ['D', 'E'],
         'C': ['D'], 'D': ['E', 'F'],
         'E': ['F'], 'F': []}
ways = {v: 0 for v in edges}
ways['A'] = 1
blocked = 'D'
for v in ['A', 'B', 'C', 'D', 'E', 'F']:
    if v == blocked:
        continue
    for nxt in edges[v]:
        if nxt != blocked:
            ways[nxt] += ways[v]
print(ways['F'])  # 1

Код нужен для проверки собственного рассуждения. Вершины здесь уже перечислены в подходящем порядке: все стрелки ведут вперёд. Для другого графа алфавитный порядок может не подойти. Если убрать запрет, программа посчитает все 5 путей.

ШАГ 07

Когда складывать, а когда умножать?

Что спрашиваютКак считать
Все пути до вершиныСложить числа у всех предшественников.
Пути через BПути до B × пути от B до финиша.
Пути без BИсключить B и пересчитать; либо вычесть пути через B из общего числа.
Что делать, если нужно пройти через две вершины?

Если путь должен идти A → B → C → D, считайте три участка: число путей A → B умножьте на число путей B → C и затем C → D. Сначала проверьте, что нужный порядок возможен по стрелкам. Если между B и C пути нет, результат равен нулю.

Пересечение линий — это новая вершина?

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

Можно просто посчитать нарисованные стрелки?

Нет. Стрелка — один переход между вершинами, а путь — последовательность переходов от старта до финиша. Несколько путей могут использовать одну стрелку.

Все правила в этом разборе относятся к графам без циклов. Авторские примеры помогают освоить приём; состав экзамена проверяйте по материалам ФИПИ нужного года.

ШАГ 08

Сохраните алгоритм решения

Открыть памятку «Пути в графе» для печати →

Схема, три правила и две задачи для самостоятельной проверки. Затем можно решить задания 9 ОГЭ или посмотреть как проходят занятия по ОГЭ с Никитой Саралашвили.

ШАГ 09

Перенесите способ на экзаменационный граф

Теперь попробуйте схему с семью вершинами из демоверсии. Сначала подпишите количество путей у начала, затем считайте вершины по направлению стрелок.

  1. Проверьте, что у вершины уже известны все входящие значения.
  2. Сложите их и запишите число рядом с вершиной.
  3. В конце проверьте, не пропущена ли прямая дорога к финишу.

Решить задание 9 ОГЭ из демоверсии →

Если ответ не совпал, сравните промежуточные значения. Пересчитывать весь граф обычно не требуется.

Закрепите приём на новых задачах

Сначала решите самостоятельно. Затем проверьте ответ или откройте объяснение.

Ответ и объяснение

1. После исключения B остаётся только A–C–D.

Ответ и объяснение

7. Входящие пути складываются: 3 + 4 = 7.

Ответ и объяснение

4. До D идут 2 пути; из D в F — 2 (напрямую или через E). Получаем 2 × 2 = 4.

Ответ и объяснение

2. Остаются A–B–D–F и A–C–D–F. После исключения E к F ведут два пути через D.

Закрепить тему

Примени изученный приём на новой задаче.

Решить задачу
Ещё по теме и поделиться
Поделиться: Telegram ВКонтакте
ВАШ ПРЕПОДАВАТЕЛЬНикита Саралашвили

Разберёмся вместе

ОГЭ, ЕГЭ и программирование — от первого вопроса до уверенного решения.

Загружаем стоимость занятий…

Обсудим вашу цель?

Напишите, к чему готовитесь и с чем нужна помощь.

Все условия занятий