const int N = 1e5 + 10;
int f[N];
int fa(int u) {
    return u == f[u] ? u : f[u] = fa(f[u]);
}
void merge(int u, int v) {
    f[fa(u)] = fa(v);
}
void solve() {
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i++) f[i] = i;
    
    vector<array<int, 3>> e(m);
    for (int i = 0; i < m; i++) {
        cin >> e[i][1] >> e[i][2] >> e[i][0];
    }

    sort(e.begin(), e.end());
    int cnt = 0;
    ll res = 0;
    for (auto [w, u, v] : e) {
        if (fa(u) == fa(v)) continue;
        merge(u, v);
        cnt++;
        res += w;
    }

    if (cnt == n - 1) {
        cout << res << '\n';
    } else {
        cout << "Not QwQ";
    }
}

0 条评论

目前还没有评论...

信息

ID
427
时间
ms
内存
MiB
难度
5
标签
递交数
19
已通过
13
上传者