b1647. 도시 분할 계획
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1647   이 문제는 크루스칼 알고리즘을 사용해 최소 스패닝 트리(MST)를 구하면서가장 큰 간선 비용을 제외해 두 개의 연결된 부분으로 나누는 문제다.목표는 모든 정점을 최소 비용으로 연결하는 트리를 구성하되,가장 큰 비용의 도로를 제외해 두 개의 분리된 부분으로 만드는 것이다. 먼저 main 메서드에서 정점 개수 N과 간선 개수 M을 입력받고,유니온-파인드를 위한 부모 배열 p를 초기화한다.각 간선의 정보를 입력받아 우선순위 큐 pq에 저장하며,큐는 간선의 비용을 기준으로 오름차순 정렬된다. calculate 메서드는 크루스칼 알고리즘을 사용해 MST를 구한다.우선순위 큐에서 가장 작은 간선부터 하나씩 꺼내어,두 정점이 이미 연결되어 있지 않..