[BOJ17398] 통신망 분할
Updated:
문제
- 건설된 통신망을 끊어 망분리 시키기
- 분리된 두 그룹에서 노드수만큼 곱하기
입력
- n, m, q
- m 개 줄에 노드 연결 x, y
- q 개 줄에 순서대로 끊을 a번째 연결
출력
- 첫 번째 줄에 Q개의 연결을 순서대로 제거하는데 드는 비용의 합을 출력한다.
설계
- 유니온파인드를 이용해 각 그룹의 노드 수 체크
- 끊어야할 edge 빼고 다 연결
- 끊어야할 순서 반대로 망 분리되는지 확인해가며 노드 수 곱해주기
피드백
- 유니온 파인드를 공식화해두고 잊어버리지 않도록 체화하기
- 유니온의 수를 탐색하는 것은 수에 대한 배열을 하나 더 만들어 parent 배열과 연동
- 답이 굉장히 큰 수가 될 수 있어서 long long 타입으로 쓰기. 이 부분 자주 놓침
How I solved(click to github)
ref :
BOJ17398
Leave a comment