Codeforces Round #484 (Div. 2), problem: (C) Cut 'em all! 【dfs】
发布日期:2021-06-29 14:29:32
浏览次数:2
分类:技术文章
本文共 694 字,大约阅读时间需要 2 分钟。
题意
去除尽可能多的边,使得剩下的连通块里点的个数都为偶数
思路
n为奇数直接输出-1
偶数的话从一个点开始递归找节点的子节点的数目(包含本身),如果是偶数则可以直接去除,因为只有n-1个边,也就是说剩下的一定是一个偶数的连通块
最后我们需要减1,因为本身这棵树如果是偶数的话也会算进去一次
code
#include#define endl '\n'using namespace std;const int maxn=1e5+5;vector G[maxn];int n;int cnt;int dfs(int u,int fa){ int sum=1; for(auto v:G[u]){ if(v==fa) continue; sum+=dfs(v,u); } if(sum%2==0) cnt++; return sum;}int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i=1;i<=n-1;i++){ int u,v; cin>>u>>v; G[u].push_back(v); G[v].push_back(u); } cnt=0; dfs(1,-1); if(n&1){ cout<<-1<
学如逆水行舟,不进则退
转载地址:https://chocolate.blog.csdn.net/article/details/104146365 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月29日 19时07分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
2019-04-29
CentOS系统内核升级攻略
2019-04-29
linux系统时区修改(Debian的主机和docker)
2019-04-29
docker-compose 安装
2019-04-29
crontab 定时任务
2019-04-29
查看docker veth pair与宿主机上网卡的对应关系
2019-04-29
使用 GitLab CI 进行持续集成的一些踩坑
2019-04-29
企业云盘给贸易业带来新的效益
2019-04-29
Linux入门常用命令
2019-04-29
Spring整理
2019-04-29
SpringMvc加强
2019-04-29
初识Vue全家桶 Nuxt.js(一)
2019-04-29
基本路由及动态路由(二)
2019-04-29
视图:默认模板+默认布局(自定义布局)+nuxt.js页面(三)
2019-04-29
基于nuxt下asyncData,fetch发送axios请求(四)
2019-04-29
插件机制+自定义axios(五)
2019-04-29
Redis的学习之路
2019-04-29