Количество различных путей от узла u к v является суммой различных путей от узлов x до v, где x является прямым потомком u.
Сохранение количества путей к целевому узлу v длякаждый узел (временно установлен на 0), перейдите от v (здесь значение 1), используя противоположную ориентацию, и пересчитайте это значение для каждого узла (суммируйте значение всех потомков), пока не достигнете u.
Если выобрабатывая узлы в топологическом порядке (опять противоположная ориентация), вы гарантируете, что все прямые потомки уже вычислены при посещении данного узла.
Надеюсь, это поможет.