Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <cstring>#define MAXN 10010#define MAXM 100010int parent[MAXN];struct Edge{int from, to, len;friend bool operator<(const Edge& e1, const Edge& e2){return e1.len < e2.len;}}edge[MAXM];int comp(const void *e1, const void *e2) {return ((Edge*)e1)->len - ((Edge *)e2)->len;}int find(int x) {if(!parent[x]) return x;return parent[x] = find(parent[x]);}inline bool unite(int x, int y) {x = find(x);y = find(y);if(x == y) return false;parent[x] = y;return true;}int main() {int n, m, ans, i;