Изменения

Перейти к: навигация, поиск
Неправильная обработка вершины-корня дерева dfs
time = time + 1
up[v] = tin[v] = time
visited[v] = ''true'' count = 0
'''for''' u: (v, u) '''in''' G
'''if''' u == p
'''else'''
dfs(u, v)
count = count + 1
up[v] = min(up[v], up[u])
'''if''' p != -1 '''and''' up[u] >= tin[v] '''and''' p != -1 <font color=darkgreen>// если граф состоит из 2 вершин и одного ребра, то p != -1 спасёт, иначе выведет 1 точку сочленения </font>
v — cutpoint
'''if''' v p == -1 '''isand''' rootcount >= 2
v — cutpoint
1
правка

Навигация