EduBrick

B. На какой фазе установилось

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

Как классная задача B, но для каждой вершины выведите номер фазы, после которой её расстояние перестало меняться.

Для источника это ноль. Для недостижимых вершин выведите −1-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). Отрицательных циклов нет.

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

Одна строка из nn чисел.

Примеры

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