社区讨论
70分,求调
P2712摄像头参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhjkwrec
- 此快照首次捕获于
- 2025/11/04 04:14 4 个月前
- 此快照最后确认于
- 2025/11/04 04:14 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 10;
int n, m, cnt, deg[N];
queue<int> q;
vector<int> adj[N];
void topo(){
for(int i = 1; i <= n; i ++){
if(deg[i] == 0){
cnt ++;
q.push(i);
deg[i] = -1;
}
}
while(!q.empty()){
int x = q.front();
q.pop();
for(int y : adj[x]){
deg[y] --;
if(deg[y] == 0){
cnt ++;
q.push(y);
deg[y] = -1;
}
}
}
return;
}
int main(){
cin >> n;
for(int i = 1; i <= n; i ++){
int x, m, y;
cin >> x >> m;
for(int j = 1; j <= m; j ++){
cin >> y;
deg[y] ++;
if(y <= n)adj[x].push_back(y);
}
}
topo();
if(cnt == n) cout << "YES";
else cout << n - cnt;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...