Я не уверен, что это будет работать (нужно проверить это), но ... вы можете сделать что-то похожее на:
Let min = min weight on the graph
.
max = max weight on the graph
.
Setновые веса для всех ребер = wNew(e) = max - (wOld(e)-min)
.
Теперь есть отрицательные весы, и весы находятся в обратном порядке (то есть, если w(e1)
было больше, чем w(e2)
, теперь оно меньше).
Что если мы сейчас ищем самый короткийпуть