80分求助
  • 板块P2712 摄像头
  • 楼主ElonMusk
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/1/20 20:32
  • 上次更新2023/10/28 11:44:38
查看原帖
80分求助
454587
ElonMusk楼主2022/1/20 20:32

WA在6号点和九号点上了,:(

#include<bits/stdc++.h>
#define N 510
using namespace std;
int n,num,rd[N],b1[N],b2[N];
vector<int> v[N];
queue<int> q;
void tuopu(){
	for(int i=1;i<=n;i++){
		if(rd[b1[i]]==0)q.push(b1[i]);
	}
	while(!q.empty()){
		int x=q.front();
		q.pop();
		num++;	//松鼠可以多毁一个摄像头了 :)
		for(int i=0;i<v[x].size();i++){
			int y=v[x][i];
			rd[b2[y]]--;	//删边
			if(rd[b2[y]]==0)q.push(y); 
		}
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int x,m,w;
		scanf("%d %d",&x,&m);
		b1[i]=x;
		b2[x]=i;
		for(int j=1;j<=m;j++){
			scanf("%d",&w);
			rd[w]++;
			v[x].push_back(w);
		}
	}
	tuopu();
	if(num==n)printf("YES");
	else printf("%d",n-num);
}
2022/1/20 20:32
加载中...