- 大象喝水
- 2024-12-01 22:15:29 @
洛谷AC了
这里的数据一个RE找不出错了(帮帮忙)
#include <bits/stdc++.h>
using namespace std;
int val[100005],ans;
vector<vector<int>>M(100005);
bool dfs(int dep,int pre){
bool flag=0;
for(auto i=M[dep].begin();i!=M[dep].end();i++)
if(*i!=pre&&dfs(*i,dep))flag=1;
if(flag&&!val[dep])ans++;
return val[dep]|flag;
}
int main(){
ios::sync_with_stdio(false);
int n,root;
cin>>n;
for(int i=1;i<=n;i++){
cin>>val[i];
if(val[i])root=i;
}
for(int i=1;i<n;i++){
int x,y;
cin>>x>>y;
M[x].push_back(y);
M[y].push_back(x);
}
dfs(root,0);
cout<<ans;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 1000
- 难度
- 7
- 分类
- (无)
- 标签
- 递交数
- 1536
- 已通过
- 289
- 通过率
- 19%
- 被复制
- 29
- 上传者