vertex를 없애면 그래프가 분리되는 지점
articulation point가 없는 그래프
그래프에서 v 제거하고
그래프가 그대로인지 확인하고
v 돌려놓고 반복
O(n*(n+e))
(adjacency list 사용)
vertex 하나 찍고 DFS로 spanning tree 만듦
사이클을 만드는 엣지는 점선으로 표시해줌
dfn
: visiting order
low
: (자식을 통해서) 갈 수 있는 ancestor들 중 가장 작은 dfn
루트의 경우 자식이 둘이면 articulation point
low(w) ≥ dfn(u)
이면 articulation point
쉽게 말해 내 자식이 나보다 올라갈 수 있으면 ok