Kattis Problem - Island Hopping
题目类型:最小生成树
题意
有 m 个岛,给出每个岛的坐标,在两个岛之间建桥的花费等于两个岛之间的距离。求使所有岛连通所需要建桥的最小花费。
分析
很明显是要求其最小生成树。在每两个岛之间建边,长度为其之间的距离,然后使用 Kruskal 算法求其最小生成树。
代码
static int[] fa;
public static void solve() throws IOException {
int m = nextInt();
double[] x = new double[m];
double[] y = new double[m];
for (int i = 0; i < m; i++) {
x[i] = nextDouble();
y[i] = nextDouble();
}
Edge[] edge = new Edge[m * m];
int idx = 0;
for (int i