只有第三个AC 其他全部wa
查看原帖
只有第三个AC 其他全部wa
1254373
crisK07楼主2024/2/23 18:00
#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

2024/2/23 18:00
加载中...