RE+WA 20求大佬调
  • 板块P2712 摄像头
  • 楼主zhonglidog
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/15 09:46
  • 上次更新2024/12/15 10:05:19
查看原帖
RE+WA 20求大佬调
1065593
zhonglidog楼主2024/12/15 09:46
#include<iostream>
#include<queue>
using namespace std;
const int MAXN=1005;
struct edge{
	int v,next;
}e[MAXN];
int tot,head[MAXN],din[MAXN];
void addedge(int u,int v){
	e[++tot]=(edge){v,head[u]};
	head[u]=tot;
	din[v]++;
	return;
}
bool vis[MAXN];
int n,ans;
int main(){
	cin>>n;ans=n;
	for(int i=1;i<=n;i++){
		int u,m;
		cin>>u>>m;
		for(int i=1;i<=m;i++){
			int v;
			cin>>v;
			addedge(u,v);
		}
	}
	for(int i=1;i<=n;i++){
		queue<int> q;
		for(int j=1;j<=n;j++)
			if(din[j]==0&&!vis[j]) q.push(j); 
		while(!q.empty()){
			int x=q.front();q.pop();
			for(int i=head[x];i;i=e[i].next){
				int v=e[i].v;
				din[v]--;
			}
			vis[x]=true;
			ans--;
		}
	}
	if(ans==0) cout<<"YES"<<endl;
	else cout<<ans<<endl;
	return 0;
}
2024/12/15 09:46
加载中...