组合题
#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;}
第22题判断题原卷 1 分

(1 分)输入的 aa 和 bb 值应在 [0,n−1][0, n-1]的范围内。()

填写答案
第23题判断题原卷 1 分

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

填写答案
第24题判断题原卷 1.5 分

若输入的 aa 和 bb 值均在 [0,n−1][0, n-1] 的范围内,则对于任意 0≤i<n0\leq i<n 都有 0≤fa[i]<n0 \leq fa[i] <n ()

填写答案
第25题判断题原卷 1.5 分

若输入的 aa 和 bb 值均在 [0,n−1][0, n-1] 的范围内,则对于任意 0≤i<n0\leq i<n 都有 1≤cnt[i]≤n1 \leq cnt[i]\leq n ()

填写答案
第26题单选题原卷 4 分

当 nn 等于50时,若 a,ba,b 的值都在 [0,49][0,49] 的范围内,且在第 2525 行时 xx 总是不等于 yy,那么输出为()。

填写答案
第27题单选题原卷 4 分

此程序的时间复杂度是()。

填写答案