HDU1878-欧拉回路的判定
来源:互联网 发布:大数据影响我们的生活 编辑:程序博客网 时间:2024/06/05 03:00
HDU1878欧拉回路
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8573 Accepted Submission(s): 3087
Problem Description
欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?
Input
测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结
束。
束。
Output
每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。
Sample Input
3 31 21 32 33 21 22 30
Sample Output
10
Author
ZJU
Source
浙大计算机研究生复试上机考试-2008年
思路:
判断是否是欧拉回路,可以用并查集的方法解决。用并查集建立起一个图(实质是一棵树,并且使大数结点总是指向
小数结点),在建立的过程中记录每个结点度数,满足如下两个条件的是欧拉回路:1.所有度数都是偶数。2.只有一条连
通分支(判断是否只有一个根结点即可)。然后就可以实现了。
//欧拉回路,只有一个分支。是连通图//所有点的度数都是偶数(even)#include <iostream>#include <string.h>using namespace std;int father[1010],degree[1010],n,m;inline void init(){for(int i=1; i <= n; ++i)father[i] = i;}int find(int x){if (x == father[x])return x;else return father[x] = find(father[x]);}inline void Union(int x,int y){x = find(x);y = find(y);if (x > y)father[x] = y;elsefather[y] = x;}int main(){int i,x,y;while(cin >> n && n != 0){cin >> m;init();memset(degree,0,sizeof(degree));for(i=1; i <= m; ++i){cin >> x >> y;Union(x,y);++degree[x];++degree[y];}for(i=1; i <= n; ++i){if ((degree[i]&1) || father[i] != 1)//1是根结点,如果入度为奇或者有多个分支,说明不是欧拉回路break;}if (i <= n)puts("0");else puts("1");}return 0;}
0 0
- HDU1878-欧拉回路的判定
- HDU1878欧拉回路(欧拉回路的判定)
- 欧拉回路 hdu1878
- hdu1878欧拉回路
- hdu1878 欧拉回路
- 欧拉回路((hdu1878))
- HDU1878欧拉回路
- 欧拉回路 hdu1878
- HDU1878欧拉回路
- hdu1878 欧拉回路
- hdu1878 欧拉回路
- HDU1878 欧拉回路
- hdu1878 欧拉回路
- hdu1878 欧拉回路
- HDU1878 欧拉回路
- HDU1878 欧拉回路
- HDU1878-欧拉回路
- HDU1878 欧拉回路【欧拉回路】
- sed学习---字符替换
- C++如何将CString 转化成char *
- .net中捕获摄像头视频的方式及对比(How to Capture Camera Video via .Net)
- 30款精心挑选的JavaScript库和工具(三)
- easyui ajax返回数据后刷新页面
- HDU1878-欧拉回路的判定
- java.lang.RuntimeException: Fail to connect to camera service
- AlertDialog提示框可添加确定取消等多种选择
- tar 命令详解
- MapReduce: 大规模集群上的简化数据处理
- Android软Watchdog源码分析
- PHP防sql注入方法 htmlspecialchars addslashes
- [转——科普文一则]我们为什么要使用NodeJS (评论别错过)
- Hadoop 新 MapReduce 框架 Yarn 详解