← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#include <iostream>using namespace std; const int maxn = 1000;int n;int fa[maxn], cnt[maxn]; int getRoot(int v) {    if (fa[v] == v) return v;    return getRoot(fa[v]);} int main() {    cin >> n;    for (int i = 0; i < n; ++i) {        fa[i] = i;        cnt[i] = 1;    }    int ans = 0;    for (int i = 0; i < n - 1; ++i) {        int a, b, x, y;        cin >> a >> b;        x = getRoot(a);        y = getRoot(b);        ans += cnt[x] * cnt[y];        fa[x] = y;        cnt[y] += cnt[x];    }    cout << ans << endl;    return 0;}
第23题判断题原卷 1 分

(1 分)第 16 行改成 fa[i] = 0;,不影响程序运行结果。()

填写答案