#include<bits/stdc++.h>
using namespace std;
#define int long long
#define uint unsigned long long
#define speed ios::sync_with_stdio(0),cin.tie(0), cout.tie(0);
int n,ans;
bool f[201];
vector<int>tree[201];
void bfs(int x){
queue<int>q;
q.push(x);
while(!q.empty()){
int ft=q.front();
q.pop();
for(int i=0;i<tree[ft].size();i++){
int g=tree[ft][i];
if(!f[g])f[g]=1,q.push(g);
}
}
}
signed main() {
speed
cin>>n;
for(int i=1;i<=n;i++){
while(1){
int a;
cin>>a;
if(!a)break;
tree[i].push_back(a);
}
}
for(int i=1;i<=n;i++){
if(!f[i]){
f[i]=1;
ans++;
bfs(i);
}
}
cout<<ans;
return 0;
}
使用了 bfs 枚举。没 T,但 WA 了。
求大佬调。