EduBrick

A. Форд — Беллман

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

Дан ориентированный граф с целыми весами рёбер; веса могут быть отрицательными. Отрицательных циклов нет. Найдите расстояния от вершины 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 чисел — расстояния от вершины 1. Для недостижимых вершин выведите 3000030000.

Примеры

ввод
6 4
1 2 10
2 3 10
1 3 100
4 5 -10
вывод
0 10 20 30000 30000 30000
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.