WA80
  • 板块P2712 摄像头
  • 楼主Lisbourg
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/29 19:25
  • 上次更新2024/11/29 21:06:38
查看原帖
WA80
1269138
Lisbourg楼主2024/11/29 19:25
#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<vector<int> > tu;
priority_queue<int> dui;
// bool b[500005]={};
int n;
int rd[500005]={};
int t=0;
void tp(){
	for(int i=1;i<=n;i++){
		if(rd[i]==0){
			dui.push(i);
			rd[i]=-1;
		}
	}
	while(!dui.empty()){
		int x=dui.top();
		dui.pop();
        t++;
		for(int i=0;i<tu[x].size();i++){
		    int v=tu[x][i];
			rd[v]--;
			if(rd[v]==0){
				dui.push(v);
				rd[v]=-1;
			}
		}
	}
	if(t==n) cout<<"YES";
	else cout<<n-t;
}
signed main(){
	cin>>n;
	tu.resize(50005);
	for(int i=1;i<=n;i++){
		int u,m;
		cin>>u>>m;
// 		b[u]=1;
		while(m--){
		    int v;
			cin>>v;
			tu[u].push_back(v);
			rd[v]++;
		}
	}
	tp();
}
2024/11/29 19:25
加载中...