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