70pts蒟蒻拓扑排序求救
  • 板块P2712 摄像头
  • 楼主wmx111
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/24 15:03
  • 上次更新2024/7/24 15:56:15
查看原帖
70pts蒟蒻拓扑排序求救
877768
wmx111楼主2024/7/24 15:03

代码:```cpp #include<bits/stdc++.h> using namespace std; const int N=5e3+10; vector e[N]; int in[N],out[N],n,ans,m,u,v,us[N]; void topsort(){ queue q; for(int i=1;i<=n;i++){ if(in[i]==0){ q.push(i); ans++; } } while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0,sz=e[u].size();i<sz;i++){ if(us[e[u][i]]!=0){ int v=e[u][i]; in[v]--; if(in[v]==0){ q.push(v); ans++; } }

	}
}

return ;

} int main(){ cin>>n; for(int j=1;j<=n;j++){ cin>>u>>m; us[u]=1; for(int i=0;i<m;i++){ cin>>v; e[u].push_back(v); out[u]++; in[v]++; }

}
topsort();
if(ans==n){
	cout<<"YES";
}
else{
	cout<<n-ans;
}
return 0;

}

2024/7/24 15:03
加载中...