8.3

发布时间 2023-08-03 11:09:02作者: 竹余居
#include<bits/stdc++.h>
using namespace std;

int n;
vector<int>g[1005];
int s=0;
int a[1005][1005];
bool b[10005];

void dfs(int i){
    for(int j=1; j<=n; j++){
        if(a[i][j]==1 && b[j]==false){
            b[j]=true;
            dfs(j);
        }
    }
}

int main(){
    cin>>n;
    int p=1;
    for(int i=1; i<=n; i++){
        p=1;
        while(p!=0){
            cin>>p;
            a[i][p]=1;
        }
    } 
    for(int i=1; i<=n; i++){
        dfs(i);
    }
    cout<<s<<endl;
    return 0;
}