Нет необходимости для запуска алгоритма в обратном порядке. Вы можете рассчитывать решения в линейном времени также с помощью прямого поиска. Я не думаю, что решение говорит, что вам нужно , чтобы сделать это в обратном порядке, а вам нет.
И прямой, и обратный поиск основаны на одной и той же общей идентичности, а именно:
number-of-paths(s, t) =
sum over nodes 'c' of any cut of the graph that separates s from t:
number-of-paths(s, c) * number-of-paths(c, t)