F. Вершины на отрицательных циклах
Как классная задача F, но выводится одно число: сколько вершин лежит хотя бы на одном цикле отрицательного веса.
После обычного Флойда это ровно те вершины , у которых : кратчайший путь из вершины в саму себя стал отрицательным, значит она лежит на отрицательном цикле.
Осторожно с бесконечностями: пары, до которых пути нет, участвовать в сложении не должны, иначе значения поедут и диагональ соврёт.
Полезное следствие: диагональ Флойда — самый дешёвый способ узнать про отрицательные циклы, если матрица и так строится. Форд — Беллман умеет то же и работает на разреженных графах, но это уже вторая часть занятий про кратчайшие пути.
Формат ввода
Первая строка содержит число ().
Далее идут строк по чисел — матрица смежности. Ноль означает отсутствие ребра, любое другое число — вес. Все числа по модулю не превосходят .
Формат вывода
Одно число.
Примеры
3 0 1 2 1 0 3 2 3 0
0
2 0 -1 -1 0
2