32 lines
650 B
C++
32 lines
650 B
C++
#include<cstdio>
|
|
#include<iostream>
|
|
#include<cstdlib>
|
|
#include<cmath>
|
|
#include<cstring>
|
|
using namespace std;
|
|
long fa[201],c[1001];
|
|
bool b[201][201];
|
|
int main()
|
|
{
|
|
long n,i,j,k,x,r1,r2,s=0;
|
|
cin>>n;
|
|
memset(b,false,sizeof(b));
|
|
for (i=1; i<=n; i++) fa[i]=i;
|
|
for (i=1; i<=n; i++){
|
|
cin>>x;
|
|
while (x!=0) {
|
|
b[i][x]=true;
|
|
cin>>x; }
|
|
}
|
|
for (k=1; k<=n; k++)
|
|
for (i=1; i<=n; i++)
|
|
for (j=1; j<=n; j++){
|
|
b[i][j]=b[i][j]||(b[i][k]&&b[k][j]);
|
|
}
|
|
for (i=1; i<=n; i++)
|
|
for (j=1; j<=n; j++)
|
|
if (b[i][j]==true) fa[j]=fa[i];
|
|
for (i=1; i<=n; i++) if (fa[i]==i) s++;
|
|
cout<<s;
|
|
}
|
|
|