Допустим, у меня есть ориентированный граф G (V, E) с реберной стоимостью ∈ (0,1). Для данного i мне нужно найти все пары вершин (i, j), начиная с i, которые «соответствуют»«. Две вершины (i, j) совпадают, если существует направленный путь от i до j с длиной ровно k (k - заданное число, которое является относительно небольшим и может рассматриваться как постоянное) с затратами> = C (C являетсязаданное число). Стоимость пути рассчитывается как произведение его ребер. Например, если путь, начинающийся с i и заканчивающийся на j длины 2, состоит из ребер e1 и e2, тогда CostOfpath = cost (e1) * cost (e2).
Я думал о том, чтобы найти все пути длины ровно k, а затем проверить стоимость этих путей, чтобы увидеть, находится ли он в пределах границ. Однако я не уверен, как реализовать эту идею (возможно, с BFS илиdijkstra) и я тоже думаю, что это грубая сила, так что, возможно, есть более умная идея?