社区讨论
0分求调
P10723[GESP202406 七级] 黑白翻转参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mbwa7swe
- 此快照首次捕获于
- 2025/06/14 21:38 9 个月前
- 此快照最后确认于
- 2025/11/04 07:10 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
vector<int>z[100001];
vector<int>f[100001];
queue<int>q;
int n,a[100001],u,v,sum;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==0)
sum++;
}
for(int i=1;i<n;i++){
cin>>u>>v;
f[v].push_back(u);
z[u].push_back(v);
}
for(int i=1;i<=n;i++){
if(z[i].size()==0&&a[i]==0)
q.push(i);
}
while(!q.empty()){
int t=q.front();
q.pop();
sum--;
for(int i=0;i<f[t].size();i++){
int x=f[t][i];
z[x].pop_back();
if(z[x].size()==0&&a[x]==0)
q.push(x);
}
}
cout<<sum;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...