超链接

· · 题解

#include<bits/stdc++.h>
using namespace std;
int n;
int t[1005], a[1005][105];
bool f[1005];
int main () {
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> t[i];
        for (int j = 1; j <= t[i]; j++) {
                cin >> a[i][j];
        }
    }
    f[1] = true;
    for (int i = 1; i <= t[1]; i++) {
        int k = a[1][i];
        f[k] = true;
    }
    for (int i = 1; i <= t[1]; i++) {
            int k = a[1][i];
            for (int j = 1; j <= t[k]; j++) {
                int u = a[k][j];
                f[u] =  true;
            }
        }
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
        if (f[i])
           cnt++;
    }
    cout << cnt << endl;
    return 0;
}