Как найти путь точной длины в графе

Я хотел бы найти путь фиксированной длины (заданный при запуске программы) в неориентированном графе. Я использую матрицу смежности моего графа.
Я пытался использовать некоторые алгоритмы, такие как DFS или A *, но они возвращают только кратчайший путь.

Узлы не могут быть снова посещены.

Итак, допустим, что у моего графа 9 узлов, а кратчайший путь состоит из 4 узлов.
Я хочу иметь дополнительную переменную, которая будет "сообщать" алгоритм, который я хочу найти путь, который имеет 7 узлов (например), и он будет возвращать узлы, которые включены в мой ожидаемый путь {1,2,4,5,6,7,8}.
Конечно, если нет никакого решения для пути, который я хочу, он ничего не возвратит (или он вернет путь, близкий к моим объяснениям, скажем, 19 вместо 20).

Кто-то говорил о DFS с возвратом, но я ничего об этом не знаю.
Может кто-нибудь объяснить, как использовать DFS с возвратом или порекомендовать некоторые другие алгоритмы для решения этой проблемы?

Ответы на вопрос(5)

Ваш ответ на вопрос