46分求调
查看原帖
46分求调
1069719
Enoch2013楼主2024/5/19 11:09

请大家指出错误,谢谢! 代码:

#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;
}
2024/5/19 11:09
加载中...