社区讨论

评测结果五彩缤纷

P10723[GESP202406 七级] 黑白翻转参与者 7已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mmgmpbtu
此快照首次捕获于
2026/03/08 02:00
前天
此快照最后确认于
2026/03/08 14:32
前天
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct Node{
    bool c;
    vector<Node*> v;
    int rear;
    bool visited;
    Node(bool b):c(b),rear(0),visited(0){}
};
int dfs(Node* root){
    int sum=0;
    for(int i=0;i<root->rear;i++){
        if(!root->v[i]->visited){
            root->v[i]->visited=1;
            sum+=dfs(root->v[i]);
            if(!root->c&&root->v[i]->c){
                sum++;
                root->c=1;
            }
        }
    }
    return sum;
}
int main(){
    int n;
    cin>>n;
    Node* a[n];
    bool t;
    Node* rt=nullptr;
    for(int i=0;i<n;i++){
        cin>>t;
        a[i]=new Node(t);
        if(t&&!rt)rt=a[i];
    }
    int x,y;
    for(int i=1;i<n;i++){
        cin>>x>>y;
        x--;
        y--;
        a[x]->v.push_back(a[y]);
        a[x]->rear++;
        a[y]->v.push_back(a[x]);
        a[y]->rear++;
    }
    int ans=dfs(rt);
    cout<<ans;
    if(ans%5==0){
        while(true)cout<<"少羽牛逼666";
    }
    return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...