G. Лабиринт знаний наоборот
Тот же лабиринт, что в классной задаче G, но требуется наименьший возможный запас знаний на выходе.
Знак меняется во всех рассуждениях сразу. Теперь :( по-прежнему означает «дойти нельзя», а :) — что знания можно сделать сколь угодно малыми, то есть отрицательными без предела.
Менять знаки весов уже не нужно: Форд — Беллман и так минимизирует. Условие бесконечности — отрицательный цикл, достижимый из комнаты 1, из которого достижима комната .
Задача решается тем же кодом, что классная, только без двух смен знака. Если у вас классная решена, эта пишется за минуту — и это хороший повод убедиться, что вы не зашили знак куда-то ещё.
Формат ввода
Первая строка содержит числа () и ().
Далее идут строк: откуда ведёт дверь, куда она ведёт и изменение знаний (по модулю не больше ).
Формат вывода
Либо :), либо :(, либо одно число.
Примеры
2 2 1 2 3 1 2 7
3
3 3 1 2 5 2 2 -1 2 3 5
:)