HDU 3018 Ant Trip 欧拉路 并查集
来源:互联网 发布:scratch2.0趣味编程 编辑:程序博客网 时间:2024/06/06 09:25
HDU 3018 Ant Trip 欧拉路 并查集
开始的时候没有看清题 以为是每个联通图判断欧拉路就行了
#include<iostream>#include<cstdio>#include<cstring>#include<string.h>#include<algorithm>#include<vector>using namespace std;//hdu3018 对于联通的图判断奇数度数的个数 如果==0 就+1 就行了 否者 加奇数个数的1/2#define maxn 100005#define maxm 200005 int degree[maxn],pa[maxn],flag[maxn];int n,m,x,y;void init() { memset(degree,0,sizeof(degree)); memset(flag,0,sizeof(flag)); for(int i=1;i<=n;i++) { pa[i]=i; } } int find(int x) { return pa[x] == x ? x : pa[x] = find(pa[x]); } void unite(int x, int y) { x = find(x); y = find(y); if(x == y) return; pa[x] = y; } int main(){while(scanf("%d%d",&n,&m)==2){init();int count=0;for(int i=0;i<m;i++){scanf("%d%d",&x,&y);degree[x]++;degree[y]++;unite(x,y);}for(int i=1;i<=n;i++){if(degree[i]&1)flag[find(i)]++;}for(int i=1;i<=n;i++){if(find(i)==i &°ree[i]){if(flag[i]==0) count++;else count+=flag[i]/2;} }printf("%d\n",count);} }
0 0
- HDU 3018 Ant Trip【欧拉路、并查集】
- HDU 3018 Ant Trip 欧拉路 并查集
- HDU 3018 Ant Trip 【欧拉图+并查集】
- HDU 3018 Ant Trip ( 并查集+欧拉回路 )
- hdu 3018 Ant Trip (欧拉图+并查集)
- HDU 3018-Ant Trip(并查集&&欧拉)
- HDU 3018 Ant Trip(欧拉路径 + 并查集 + 连通性判断)
- hdu-3018-Ant Trip(并查集&&欧拉回路)
- hdu 3018 Ant Trip
- HDU-3018-Ant Trip
- hdu 3018 Ant Trip
- hdu 3018 Ant Trip
- hdu 3018 Ant Trip
- HDU 3018 Ant Trip
- HDU 3018 Ant Trip
- Hdu 3018 Ant Trip
- HDU 3018 Ant Trip
- HDU 3018 Ant Trip
- 【2016.10.6NOIP普及模拟】Pond
- 图像缩放之双三次插值法
- Android_悬浮效果
- 编译Android出错:Unable to execute dex: Java heap space
- JVM及垃圾回收机制
- HDU 3018 Ant Trip 欧拉路 并查集
- 洛谷P3403 跳楼机 (spfa+图论)
- 动手解决Maven在offline模式中无法使用的BUG
- Android中常见的热门标签的流式布局的实现
- 使用MVC模型的用户登录及注册(验证用户是否存在)
- 单链表删除重复节点
- 扫雷游戏的C语言实现
- 重启nginx时出现的问题
- msyql 简单的sql优化