题库练习 2019年CSP-S1提高组初赛阅读程序题:#include <iostream>

A61466 | 2019年CSP-S1提高组初赛阅读程序题:#include <iostream>

来源2019年
时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

2019年CSP-S1提高组初赛阅读程序题:

#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;
}
C++ 编辑器
输入
输出