社区讨论

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 条回复,欢迎继续交流。

正在加载回复...