B. Сколько фаз хватило
Тот же граф и тот же алгоритм, но выводится не результат, а сколько фаз действительно понадобилось.
Фазой считается один проход по всем рёбрам в порядке ввода. Считаются только те фазы, на которых хоть одно расстояние изменилось: как только фаза прошла впустую, алгоритм останавливается, и она не засчитывается.
Ответ показывает, насколько ранняя остановка полезна. Верхняя граница достигается редко — обычно на специально построенных графах, где рёбра перечислены «против» направления путей.
Полезно осознать: ответ зависит от порядка рёбов во входе. Тот же граф с переставленными рёбрами может сойтись за одну фазу или за . Поэтому в условии порядок зафиксирован — это порядок ввода.
Формат ввода
Первая строка содержит числа () и ().
Далее идут строк с рёбрами: начало, конец и вес (). Отрицательных циклов нет.
Формат вывода
Одно число — количество результативных фаз.
Примеры
6 4 1 2 10 2 3 10 1 3 100 4 5 -10
1
1 0
0