Сколько путей из А в К в графе с односторонними дорогами
Условие
Между восемью посёлками А, Б, В, Г, Д, Е, Ж и К проложены дороги с односторонним движением: А→Б, А→В, А→Г, Б→Д, В→Д, В→Е, Г→Е, Д→Ж, Е→Ж, Е→К, Ж→К. Каждая дорога проезжается только в указанном направлении. Сколько существует различных путей из посёлка А в посёлок К?
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Шаг 1. Что именно считаем
Путь — это последовательность посёлков, в которой каждый следующий соединён с предыдущим дорогой в разрешённом направлении. Движение одностороннее: если есть дорога А→Б, то проехать из Б в А нельзя, и такие «обратные» варианты в подсчёт не идут.
Введём обозначение: — количество различных путей из А в посёлок . Нам нужно .
Шаг 2. Правило суммирования
В посёлок можно въехать только из тех посёлков, откуда в него ведёт дорога, — назовём их предшественниками. Любой путь до — это путь до какого-то предшественника плюс последняя дорога, поэтому равно сумме значений по всем предшественникам .
Старт: (в саму А ведёт «пустой» путь). Считать вершины надо в таком порядке, чтобы все предшественники уже были посчитаны: А, Б, В, Г, Д, Е, Ж, К — в этом списке все дороги ведут только вперёд.
Осталось ещё 3 шага
Шаг 3. Считаем ближние посёлки
Шаг 4. Доводим счёт до К
Шаг 5. Проверка перечислением
Бесплатно · займёт минуту
Частые ошибки
- ✗
Считают дороги (их 11), а не пути.
- ✗
Забывают дорогу Е→К и учитывают попадание в К только через Ж — получают 4.
- ✗
Разрешают себе ехать по дороге против направления (например, Д→Б) и получают лишние пути.
- ✗
Складывают числа не по предшественникам, а по «соседям» — тогда в сумму попадают вершины, из которых в данную нет дороги.