当前位置: 首页 > news >正文

[GESP202406 七级] 黑白翻转

输入样例

5
0 1 0 1 0
1 2
1 3
3 4
3 5

输出样例

2
#include <iostream>
#include <vector>
using namespace std;const int N = 1e5 + 5;
vector<int> t[N];
int n, a[N], ans;// 深度优先搜索函数
void dfs(int fa, int x) {bool has_black_child = false;for (int i = 0; i < t[x].size(); i++) {if (t[x][i] != fa) {dfs(x, t[x][i]);if (a[t[x][i]] == 1) {has_black_child = true;}}}// 如果当前节点是白色且有黑色子节点,则将其变黑if (a[x] == 0 && has_black_child) {ans++;a[x] = 1;}
}int main() {cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];}// 读取边信息for (int i = 1; i < n; i++) {int u, v;cin >> u >> v;t[u].push_back(v);t[v].push_back(u);}// 找到第一个黑色节点开始深度优先搜索for (int i = 1; i <= n; i++) {if (a[i] == 1) {dfs(0, i);break;}}// 输出最少操作次数cout << ans << endl;return 0;
}    

 

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int ans;
int n;
int a[N];
vector<int> vis[N];//存储关系 
void dfs(int x,int f){for(int i=0;i<vis[x].size();i++){int y=vis[x][i];if(y==f)continue;dfs(y,x);if(a[y]==1&&a[x]==0){a[x]=1;ans++;}}
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<n;i++){int x,y;cin>>x>>y;vis[x].push_back(y);vis[y].push_back(x);//构建父子关系 }int k=0;for(int i=1;i<=n;i++){if(a[i]==1){k=i;break;}}dfs(k,0);//开始遍历 cout<<ans;//输出个数 return 0;
}

http://www.dtcms.com/a/176148.html

相关文章:

  • FAISS(Facebook AI Similarity Search)
  • 单片机-STM32部分:6、不同编程方式-寄存器、标准库、HAL库、LL库
  • Scrapy框架之Scrapyd部署及Gerapy分布式爬虫管理框架的使用
  • MCU缓存架构设计与优化策略
  • MySQL关于锁的面试题
  • 【详细教程】ROC曲线的计算方式与绘制方法详细介绍
  • 基于SeaFormer的YOLOv8性能提升策略—轻量高效注意力模块Sea_AttentionBlock在语义分割中的应用研究
  • 性能比拼: HTTP/2 vs. HTTP/3
  • 【算法】随机快速排序和随机选择算法
  • QT编程练习20250507
  • 【C++】C++中this指针的介绍及使用
  • k8s部署OpenELB
  • RT Thread Studio创建软件和硬件RTC工程
  • ROBOVERSE:面向可扩展和可泛化机器人学习的统一平台、数据集和基准
  • SQL 子查询
  • 如何设置飞书多维表格,可以在扣子平台上使用
  • 《硬件视界》专栏介绍(持续更新ing)
  • Selenium Web自动化测试学习笔记(一)
  • C++命名空间、内联与捕获
  • vue3父组件调用子组件方法
  • React Native主题切换、字号调整:不用styled-components也能玩出花
  • daplink开发_一次开发DAPLink的详细开发流程及调试步骤
  • Nginx性能调优与深度监控
  • 在IDEA中编写Spark程序并运行
  • 2025.05.07-华为机考第三题300分
  • C++初阶-string类4
  • DeepSeek智能时空数据分析(九):NL2SQL绘制河流名字-如何给轨迹添加说明文字
  • Qt 中基于 spdlog 的高效日志管理方案
  • 服务器上机用到的设备
  • 【spring】Spring、Spring MVC、Spring Boot、Spring Cloud?