E. Сам отрицательный цикл
То же, что в предыдущей задаче, но при наличии цикла его надо вывести.
Цикл восстанавливается массивом предков, но не напрямую: вершина, релаксировавшаяся на -й фазе, сама на цикле лежать не обязана — она может быть лишь достижима из него. Спасает такой приём: пройти от неё по предкам раз. За шагов мы гарантированно попадём внутрь цикла, потому что цепочка предков рано или поздно в него заходит и дальше не выходит.
Дальше от полученной вершины идём по предкам, пока снова не встретим , — это и есть цикл.
Формат ввода
Первая строка содержит число ().
Далее идут строк по чисел — матрица смежности. Веса по модулю меньше ; значение ровно означает отсутствие ребра.
Формат вывода
NO, если отрицательного цикла нет.
Иначе YES, во второй строке количество вершин в цикле (считая первую и последнюю), в третьей — сами вершины в порядке обхода.
Примеры
3 100000 100000 -51 100 100000 100000 100000 -50 100000
YES 4 3 2 1 3
2 100000 100000 100000 100000
NO