O. Рёбра на кратчайших путях
Посчитайте, сколько рёбер лежит хотя бы на одном кратчайшем пути из вершины 1 в вершину .
Двумя запусками Дейкстры — из вершины 1 и из вершины . Обозначим и полученные расстояния, а . Ребро веса лежит на кратчайшем пути, если
Две проверки, потому что ребро неориентированное и пройти его можно в любую сторону.
Смысл равенства простой: слева — длина наилучшего пути, который обязан пройти по этому ребру. Если она равна , ребро на каком-то кратчайшем пути лежит; если больше — не лежит ни на одном.
Кратные рёбра считаются по отдельности: два ребра между одной парой вершин — это два разных ребра, и каждое проверяется само по себе.
Если пути из 1 в нет, ответ — ноль.
Формат ввода
Первая строка содержит числа () и ().
Далее идут строк с рёбрами: концы и вес ().
Формат вывода
Одно число.
Примеры
4 4 1 2 1 1 3 1 2 4 1 3 4 1
4
2 2 1 2 5 1 2 5
2