N. Сколько кратчайших
3000 мс · 256 МБ · всё или ничего
Неориентированный граф задан списком рёбер. Посчитайте количество кратчайших путей из вершины 1 в вершину .
Путей может быть очень много, поэтому ответ выводится по модулю .
Считается это тем же обходом: у вершины на расстоянии число кратчайших путей равно сумме этих чисел по соседям на расстоянии . Обход в ширину обрабатывает вершины по возрастанию расстояния, поэтому к моменту обработки все нужные значения уже готовы.
Формат ввода
Первая строка содержит числа () и ().
Далее идут строк с рёбрами простого графа.
Формат вывода
Одно число — количество кратчайших путей по модулю , или 0, если пути нет.
Примеры
ввод
4 4 1 2 1 3 2 4 3 4
вывод
2
ввод
2 0
вывод
0
Войдите, чтобы отправлять решения.