请大家指出错误,谢谢! 代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 205;
int f[N][N];
int n, x, sum = 0, a[N];
int main()
{
ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
while (x != 0)
{
f[i][x] = true;
cin >> x;
}
}
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (f[i][k] && f[k][j])
f[i][j] = true;
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;
return 0;
}