社区讨论
评测结果五彩缤纷
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 条回复,欢迎继续交流。
正在加载回复...