문제 출처
1. 문제설명
- 그래프가 여러개 주어진다.
- 이 그래프를 트리로 변환하고, 하나로 잇고자 한다.
- 하나의 트리로 만들기 위해서 드는 비용은?
- 문제 분류
- Data Structure, Graph, Tree, Disjoint Set
2. 알고리즘 설계
- DFS로 트리의 개수를 세준다.
- 하나의 트리니까
cnt-1
을 하면 될 줄 알았다.
- 정답값 출력
- 최종 그래프는
cnt-1
개의 간선을 추가해서 m+cnt-1
개의 간선을 가지고 있다.
- 트리는
n-1
개의 간선을 가진다. (두 뉴런 사이에는 최대 1개의 시냅스만 존재한다.)
- 그렇기 때문에
(m+groupcnt-1)-(n-1)
개의 간선을 제거해야 한다.
3. 전체 코드