У меня проблемы с решением этой проблемы. Я должен найти все простые пути, начиная с исходной вершины s , содержащей простой цикл в ориентированном графе. Т.е. повторы не допускаются, за исключением, конечно, для одной повторяющейся вершины, где цикл возвращается на путь.
Я знаю, как использовать посещение DFS, чтобы определить, есть ли на графике циклы, но я не могу найти способ использовать его, чтобы найти все такие пути, начиная с s .
Например, на этом графике
+->B-+
| v
s-->T-->A<---C
| ^
+->D-+
Начиная с s
, путь S-T-A-B-C-A будет найден правильно. Но путь S-T-A-D-C-A не будет найден, поскольку вершина C помечена как Посещенная DFS.
Может кто-нибудь подсказать мне, как решить эту проблему?
Спасибо