EduBrick

B. Сколько фаз хватило

2000 мс · 256 МБ · всё или ничего

Тот же граф и тот же алгоритм, но выводится не результат, а сколько фаз действительно понадобилось.

Фазой считается один проход по всем рёбрам в порядке ввода. Считаются только те фазы, на которых хоть одно расстояние изменилось: как только фаза прошла впустую, алгоритм останавливается, и она не засчитывается.

Ответ показывает, насколько ранняя остановка полезна. Верхняя граница n−1n - 1 достигается редко — обычно на специально построенных графах, где рёбра перечислены «против» направления путей.

Полезно осознать: ответ зависит от порядка рёбов во входе. Тот же граф с переставленными рёбрами может сойтись за одну фазу или за n−1n-1. Поэтому в условии порядок зафиксирован — это порядок ввода.

Формат ввода

Первая строка содержит числа nn (1≤n≤1001 \le n \le 100) и mm (0≤m≤1040 \le m \le 10^4).

Далее идут mm строк с рёбрами: начало, конец и вес (−100≤w≤100-100 \le w \le 100). Отрицательных циклов нет.

Формат вывода

Одно число — количество результативных фаз.

Примеры

ввод
6 4
1 2 10
2 3 10
1 3 100
4 5 -10
вывод
1
ввод
1 0
вывод
0
Войдите, чтобы отправлять решения.