#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 1002;
const int MAXM = 100003;
struct Node{
int x;
int y;
int t;
}node[MAXM];
int N,M;
int tree[MAXN];
int findFather(int a){
if (a== tree[a])return a;
else{
return findFather(tree[a]);
}
}
bool compare(Node a,Node b){
return a.t<b.t;
}
int main(){
int x,y,t;
cin>>N>>M; //N为村庄数,M为道路数
for (int i = 1; i <= N; ++i) {//初始化
tree[i] = i;
}
for (int i = 1; i <= M; ++i) {
cin>>x>>y>>t;
node[i].x = x;
node[i].y = y;
node[i].t = t;
}
sort(node+1,node+M+1, compare);
int num = 0;
int ans = 0;
for (int i = 1; i <= M; ++i) {
if (findFather(node[i].x)!= findFather(node[i].y)){//若祖先不同则进行合并
num++;
tree[node[i].y] = findFather(node[i].x);
ans = node[i].t;
}
}
if (num == N-1) cout<<ans;
else cout<<-1;
}
请教下大佬们这个代码哪里出错了,只有第三个AC了其他全部WA