90pts,求调
  • 板块P2712 摄像头
  • 楼主Co_Ce
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/4 22:57
  • 上次更新2025/1/5 13:01:04
查看原帖
90pts,求调
1333328
Co_Ce楼主2025/1/4 22:57
#include<bits/stdc++.h>

using namespace std;

int n;

int p[1010][1010];

int d[1010];

int x,y;

int len[1010];

int s[1010];

queue<int>q;

int sum;

int xm=INT_MIN;

int m;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x>>m;
		xm=max(xm,x);
		s[x]=1;
		for(int j=1;j<=m;j++){
			cin>>y;
			d[y]++;
			p[x][++len[x]]=y;
		}
	}
	for(int i=1;i<=n;i++){
		if(d[i]==0){
			q.push(i);
		}
	}
	for(int i=1;i<=n;i++){
		if(q.empty()){
			break;
		}
		int k=q.front();
		q.pop();
		for(int j=1;j<=len[k];j++){
			if(s[p[k][j]]==0){
				continue;
			}
			--d[p[k][j]];
			if(d[p[k][j]]==0){
				q.push(p[k][j]);
			}
		}
	}
	for(int i=1;i<=xm;i++){
		if(d[i]!=0&&s[i]==1){
			sum++;
		}
	}
	if(sum==0){
		cout<<"Yes";
	}
	else{
		cout<<sum;
	}
	return 0; 
}
2025/1/4 22:57
加载中...