欧拉回路

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10548    Accepted Submission(s): 3849

Problem Description
欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?
Input
测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结
束。
Output
每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。
Sample Input
3 3
1 2
1 3
2 3
3 2
1 2
2 3
0

Sample Output
1 0
Author
ZJU
Source
浙大计算机研究生复试上机考试-2008年
解题:判欧拉回路

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 1010;
 4 int uf[maxn],d[maxn];
 5 int Find(int x) {
 6     if(x != uf[x]) uf[x] = Find(uf[x]);
 7     return uf[x];
 8 }
 9 int main() {
10     int n,m,u,v;
11     while(scanf("%d",&n),n) {
12         scanf("%d",&m);
13         for(int i = 0; i < maxn; ++i) {
14             uf[i] = i;
15             d[i] = 0;
16         }
17         for(int i = 0; i < m; ++i) {
18             scanf("%d%d",&u,&v);
19             ++d[u];
20             ++d[v];
21             u = Find(u);
22             v = Find(v);
23             if(u != v) uf[v] = u;
24         }
25         int tot = 0;
26         for(int i = 1; i <= n; ++i)
27             if(uf[i] == i) ++tot;
28         for(int i = 1; i <= n; ++i)
29             if(d[i]&1) tot++;
30         puts(tot > 1?"0":"1");
31     }
32     return 0;
33 }

View Code

转载于:https://www.cnblogs.com/crackpotisback/p/4716339.html

hdu 1878 欧拉回路相关推荐

  1. Hdu 1878 欧拉回路[判断是否存在欧拉回路]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1878 题目的意思很简单,就是给你一个无向图..问存在欧拉回路吗?Yes or No.1000个节点.. ...

  2. HDU 1878 欧拉回路(入门)

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. hdu 1116 欧拉回路 并查集 一组字符串能否首尾相连成一个字符串

    主要是欧拉回路的基础知识,用并查集加工处理 注意欧拉回路和并查集的细节判断 不能粘贴复制,一定要理解之后再敲一遍代码,否则浪费更多的时间 #include <stdio.h> #inclu ...

  4. hdoj 1878 欧拉回路

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  5. 杭电-1878 欧拉回路

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  6. uoj 117 欧拉回路

    1.判断是否为欧拉存在欧拉回路---裸的判断 欧拉回路就是看一笔能不能把途中所有的边跑完没得重复 对于无向边----建立双向边判断每个点的入度是否为2的倍数   1.1 对于有向边---建立单向边判断 ...

  7. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  8. 蓝书3.7 欧拉回路

    T1 欧拉回路 hdu 1878 题目大意: 判断是否存在欧拉回路 思路: 一个无向图存在欧拉回路的条件为所有点的度为偶数 且图联通 1 #include<iostream> 2 #inc ...

  9. 【HDOJ图论题集】【转】

    1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...

最新文章

  1. 权限管理----角色管理
  2. ios下js复制到粘贴板_h5实现一键复制到粘贴板 兼容ios
  3. python中DictVectorizer的使用
  4. SAP CRM get_children 方法里面参数 iv_as_copy 有什么用?
  5. ASP.NET Core Razor 页面使用教程
  6. 关于ASP访问ACCESS数据的错误80004005的解决方法
  7. hibernate悲观锁,乐观锁
  8. 设某微型计算机内存ram区,微机原理第三章习题.doc
  9. JAVA刻度_java – 对数轴标签/刻度定制
  10. python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
  11. [转载] python单词词典_Python 字典(Dictionary)
  12. C语言:要求输入一个字符,如果这个字符是小写字母,将这个字母转换成大写字母,否则保持不变
  13. delphi listview怎么自动宽度_黑龙江胶带纸管切割机企业该怎么选择
  14. android apk加密技术,android apk 自我保护技术-加密apk
  15. 二、图的遍历——深度优先遍历
  16. 三种最常见的框架解析 | 如何创建JUnit参数化测试
  17. 破局:技术视野与规划
  18. 微软媒体服务器,Azure 媒体服务概述
  19. 接口详解(JAVA)
  20. 【SysML】模型图概览

热门文章

  1. 抓取网络文件的URL地址作附件发送
  2. 以太坊数据结构MPT
  3. docker使用mongo_如何使用Docker在AWS上部署Mongo:初学者的权威指南
  4. git 代理 git_如何不再害怕GIT
  5. aws lambda_恐怕您正在考虑AWS Lambda的冷启动完全错误
  6. rhel-server-7.5-x86_64-dvd.iso镜像下载及rar压缩包的解压
  7. Python基本知识以及if语句
  8. 【Linux学习笔记】 -- 基本Shell命令
  9. (C++)1022 D进制的A+B 除基取余法将10进制数换成给定进制数
  10. Linux:检查当前运行级别的五种方法