#include<bits/stdc++.h>
using namespace std;
int n,x,a[210],sum=0;
bool f[210][210];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){//存表
cin>>x;
while(x!=0){
f[i][x]=1;
cin>>x;
}
}
for(int k=1;k<=n;k++)//Floyd
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(f[i][k]&&f[k][j])
f[i][j]=1;
for(int i=1;i<=n;i++) a[i]=i;//初始化标记
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++)
if(f[i][j]) a[j]=a[i];
for(int i=1;i<=n;i++)
if(a[i]==i) sum++;//可怜的孩子没人给他光盘
cout<<sum<<endl;
return 0;
}
1383:刻录光盘(cdrom)
于 2022-03-16 20:46:50 首次发布