求救,样例不过
查看原帖
求救,样例不过
1420772
liangyimim楼主2025/7/22 10:38
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	vector<vector<int> > g(n);
	vector<int> in(n);
	int t[n];
	for(int i=0,v;i<n;i++)
	{
		int u,x;
		cin>>u;
		t[u]=1;
		cin>>x;
		for(int j=0;j<x;j++)
		{
			cin>>v;
			v--;
			g[u].push_back(v);
			in[v]++;
		}
	}
	queue<int> q;
	for(int i=0;i<n;i++)
	{
		if(!in[i])
		{
			q.push(i);
		}
	}
	int cnt=0;
	while(q.size())
	{
		int u=q.front();
		q.pop();
		cnt++;
		for(auto v:g[u])
		{
			if(t[v])
			{
				cnt--;
				continue;
			}
			in[v]--;
			if(!in[v])
			{
				q.push(v);
			}
		}
	}
	if(cnt==n) cout<<"YES";
	else cout<<n-cnt;
	return 0;
}
2025/7/22 10:38
加载中...