70求调
  • 板块P2712 摄像头
  • 楼主zhaoyutou
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/7 17:12
  • 上次更新2024/9/7 20:12:28
查看原帖
70求调
1259753
zhaoyutou楼主2024/9/7 17:12
这是我的代码
#include<bits/stdc++.h>

using namespace std;

int n,m,u,v,ind[100005],out[100005],ans;

queue<int> q;
  
vector<int> p[100005];
  
int main(){
  
	cin>>n;//输入
  
	for(int i=1;i<=n;i++){
                          
		cin>>u
  ;
		cin>>m;
  
		for(int j=1;j<=m;j++){
                              
			cin>>v;
  
			ind[v]++;
  
			out[u]++;
  
			p[u].push_back(v);
  
		}
  
	}
  
	for(int i=1;i<=n;i++){
                          
		if(ind[i]==0){
                          
			q.push(i);
                          
		}
                          
	}
                          
	while(!q.empty()){
                          
		int now=q.front();
                          
		q.pop();
                          
		for(int i=0;i<p[now].size();i++)
  
  		{
  
			int pos=p[now][i];
  
			ind[pos]--;
  
			if(ind[pos]==0&&out[pos]>0)
  
 				 q.push(pos);
  				
		}
  
	}
  
	for(int i=1;i<=n;i++){
                          
		if(ind[i]<=0) ans++;
  
	}
  
	if(ans==n) cout<<"YES";
  
	else cout<<n-ans;
  
}
  
  写了1个小时~~我太笨了~~
2024/9/7 17:12
加载中...