Если у вас есть узлы, которые ищут маршруты с точки зрения прыжков, то, вероятно, правильный подход - график. Я не уверен, что понимаю, что вы пытаетесь сделать и каковы ограничения, тем не менее, особенно в отношении «Любой узел может быть подключен к любому другому» ... который кажется немного открытым.
Несмотря на это, однако; с некоторым графическим представлением:
Похоже, что начинать с первого узла и выполнять оттуда поиск в глубину и завершать поиск, если (a) количество выполненных прыжков больше указанного вами числа или (b) мы достигли второго узла; это определит первый (не только) путь, соединяющий два узла (не более) с таким количеством прыжков.
Если это должен быть точно указанный переход, прекратите любую ветвь поиска, если переходы прошли, и завершите с успехом, если вы также достигли второго узла.