목록최소 스패닝 트리 (2)
레야몬
1. 문제 도현이는 n개의 별들을 이어서 별자리를 만들 것이다. 별자리를 이루는 선은 서로 다른 두 별을 일직선으로 이은 형태 모든 별들은 별자리 위의 선을 통해 직/간접적으로 이어져야 한다. 별들은 2차원 평면 위에 있고 선을 하나 이을 때마다 두 별 사이의 거리만큼의 비용이 들 때, 별자리를 만드는 최소 비용을 구하시오. - 1 - 별의 개수 \(n(1 \leq n \leq 100)\) - n개의 줄 - 각 별의 x, y좌표(실수) 최대 소수점 둘째 자리까지 \((0 \leq x, y \leq 1,000)\) 정답 출력(절대 상태 오차는 \(10^{-2}\)까지 허용 2. 재정의 좌표간 거리가 비용인 그래프의 최소 스패닝 트리 구하기 3. 해결 방법 \(n^2 = 10,000\)이므로 간선의 가중치가..
#include #include #include #include #define MAX_VERTEX 10001 #define MAX_TRUNK 100001 using namespace std; typedef long long int lld; int V, E; //정점의 개수 V, 간선의 개수 E vector map[MAX_TRUNK]; //정점의 연결관계 표시 맵 int root[MAX_VERTEX]; //union-find 용 lld w; //가중치의 합 int find(int x) //x의 루트 찾기 { if(root[x]==x) return x; else return root[x]=find(root[x]); } void _union(int x, int y) { x=find(x); y=find(y); ..