我需要使用DFS在有向图中找到最长的循环。
我曾经看过维基百科上介绍如何解决这个问题的文章,我认为它是通过将节点标记为三种状态之一来处理问题:节点尚未被访问、已完成对节点的搜索,以及节点已被访问但尚未完成访问。
如果有人能与我分享链接,我会非常感激。顺便说一句,它不是Tarjan算法。
以下是我试图解决的问题,如果您想了解的话。
第一行给出的两个数字是N和M,分别表示节点数和有向边数。
从第二行开始,给出M组两个数字A和B,表示节点A和B相连,但只能从A到B遍历节点。
input.txt:
7 9
1 2
2 3
3 1
3 4
4 5
5 1
5 6
6 7
7 2
在这种情况下,答案是6,因为2>3>4>5>6>7>2。