杭电-1878 欧拉回路
来源:互联网 发布:埃米特矩阵 编辑:程序博客网 时间:2024/04/28 05:28
欧拉回路
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12749 Accepted Submission(s): 4738
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年
Recommend
思路:
满足欧拉回路的条件:任何节点的度数是偶数!
AC代码:
#include<cstdio>#include<string.h>int a[1100]; //存父节点 int d[1100]; //存度 int n, m,i;int find(int p){ while(p!=a[p]) { p=a[p];}return a[p];}void hebing(int x, int y) //合并 { int fx = find(x); //注意点 int fy = find(y); if(fx!=fy) a[fx] = fy; }int main(){ while(scanf("%d", &n) != EOF) { if(n == 0) break; scanf("%d", &m); memset(d, 0, sizeof(d)); //初始化度为0 for( i = 1; i <= n; i++) //开始自己是自己的根 { a[i] = i; } for( i = 1; i <= m; i++) { int x, y; scanf("%d%d", &x, &y); d[x]++; d[y]++; hebing(x, y); //由于边比较多,所以每读入一条边就合并一次 } int root = 0; //最终只有一个根 for(int i = 1; i <= n; i++) { if(i == a[i]) { root++; } } if(root != 1) //不是一个回路; { printf("0\n"); continue; } int flag = 1; for(int i = 1; i <= n; i++) //依次检查度 { if(d[i]%2 != 0) { flag = 0; break; } } if(flag==1) printf("1\n"); else printf("0\n"); } return 0;}
0 0
- 【杭电】[1878]欧拉回路
- 【杭电1878】欧拉回路
- 杭电-1878 欧拉回路
- 杭电1878 欧拉回路 (欧拉回路的判断)
- 【杭电oj】1878 - 欧拉回路(欧拉回路,并查集)
- 杭电hdu 1878 欧拉回路 无向图
- 杭电1878欧拉回路 并查集 DFS
- 杭电2894DeBruijin(欧拉回路)
- 杭电Problem1878 欧拉回路 并查集 + 欧拉回路
- 杭电ACM1878——欧拉回路
- 杭电ACM3018——Ant Trip~~欧拉回路
- 杭电1878————欧拉回路基础题目
- 杭电ACM1116——Play on Words~~欧拉路径与欧拉回路
- HDU 1878 欧拉回路(简单欧拉回路判定)
- hdu 1878 欧拉回路 (欧拉回路)
- 【欧拉回路】 HDOJ 1878 欧拉回路
- HDOJ 欧拉回路 1878【欧拉回路判定】
- hdu 1878 欧拉回路(简单欧拉回路)
- nginx的用户手册
- 暑期dp46道(6)抢劫Robberies ——HDOJ 2955
- The source files...are both configured to produce the output file,The project cannot be built.
- liunx下配置yocto工程环境
- 网易2016笔试(3)
- 杭电-1878 欧拉回路
- HDU 3791 二叉搜索树(数组实现)
- yield
- <sdut-ACM> 3470数学黑洞
- NOIP2015普及组T4salesman题解
- `初学iOS--UIView及其子类
- VirtualBox kernel driver not installed 解决办法
- CRC32学习总结
- 图的深度优先搜索(Depth First Search,DFS)