题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1878

题目的意思很简单,就是给你一个无向图。。问存在欧拉回路吗?Yes or No。1000个节点。。。

看欧拉回路的定义。。

通过图中所有边一次且仅一次行遍所有顶点是回路,称为欧拉回路。。

具有欧拉回路的图称为欧拉图。。

解这个问题,非常的简单,就需要一个定理就好了。

无向图是欧拉图当且仅当图是连通图且没有奇度顶点。。。

那么,我们就仅仅需要判断这个图的连通性和顶点的度数就好啦。。。

Code:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <cstdio>
using namespace std;const int N = 1e3 + 5;
int n, m, d[N], father[N];
void Init()
{for(int i = 1; i <= n; i ++){father[i] = i; d[i] = 0;}
}int find(int x)
{if(x == father[x]) return x;return father[x] = find(father[x]);
}void Union(int x, int y)
{int a = find(x), b= find(y);if(a != b) father[x] = b;
}bool solve()
{int cnt = 0;for(int i = 1; i <= n; i ++){if(father[i] == i) cnt ++;}if(cnt != 1) return false;for(int i = 1; i <= n; i++){if(d[i] % 2) return false;}return true;
}int main()
{
//    freopen("1.txt", "r", stdin);while(scanf("%d", &n) && n){scanf("%d", &m);Init();int x, y;for(int i = 0; i < m; i ++){scanf("%d %d", &x, &y);Union(x, y);d[x] ++; d[y] ++;}if(solve()) puts("1");else puts("0");}return 0;
}

慢慢的来弥补图论上的缺陷吧。。come on!! 加油。。

Hdu 1878 欧拉回路[判断是否存在欧拉回路]相关推荐

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

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

  2. hdu 1878 欧拉回路

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

  3. 混合图的欧拉路径和欧拉回路判断

    混合图(既有有向边又有无向边的图)中欧拉环.欧拉路径的判定需要借助网络流!(1)欧拉环的判定: 一开始当然是判断原图的基图是否连通,若不连通则一定不存在欧拉环或欧拉路径(不考虑度数为0的点).其实,难 ...

  4. 无向图判断是否为欧拉回路(以HDU1878为板子题)

    题目传送门 题目 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个测试用例的第1行给出两个正 ...

  5. 欧拉回路(简单判断是否有欧拉回路存在)

    https://cn.vjudge.net/contest/209173#problem/N 题目大意:给出N个点,M条边,问有没有欧拉回路存在. 题目分析:1.无向图欧拉回路是否连通2.所有点的度为 ...

  6. HDU 4850 Wow! Such String! 【欧拉回路】【一顿乱构造】

    link: http://acm.hdu.edu.cn/showproblem.php?pid=4850 题解: 每个长度为3的字符串当一个节点,每个节点连出26条边,代表给长度为3的字符串吼添加'a ...

  7. HDU-1878 欧拉回路 判定是否存在欧拉回路

    题义就是在给定的图中判定是否存在欧拉回路. 图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉(Euler)回路. 具有欧拉回路的图称为欧拉图(简称E图). 这里总结下各种图的判定的方法: 1 ...

  8. HDU 2012 素数判断方式

    复习了一下素数 埃氏筛 线性筛 埃氏筛和线性筛可以优先筛选出素数,从而节省时间哦 线性筛应该挺好理解的 埃氏筛就是i%prime[j] 这里可能不太好理解 可以举几下例子 就会慢慢懂的 举了例子 下次 ...

  9. Swordsman HDU - 3902(判断轴对称图形)

    Swordsman 题目链接:HDU - 3902 题意:按顺时针或逆时针给出多边形的n个顶点,问该多边形是否是一个轴对称图形: 思路:对于奇顶点多边形,其对称轴一定经过某一边的中点和其对边的连线: ...

最新文章

  1. [置顶] 安卓高手之路之 WindowManager
  2. c语言数据结构线性表LA和LB,数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?...
  3. 本地连接git 服务器方式:以及git连接时报错
  4. having and group by
  5. Mac通过wifi连接 Android设备
  6. myeclipse开发代码颜色搭配保护视力
  7. vs2005 pro 在浏览器查看下的一个问题!
  8. 关于零拷贝技术,你了解多少?
  9. bash 学习笔记2
  10. 微服务架构下,大型银行数据库应用实践
  11. 查看linux环境下cudnn是否安装,Linux下安装cuda和对应版本的cudnn
  12. 【QA】揭开知识库问答KB-QA的面纱1·简介篇
  13. C语言main函数带参数在VC6下的调试方法
  14. 阿里云服务器使用https访问项目
  15. 手把手教你使用Admob广告中介
  16. 小米2s、2sc解激活锁和root
  17. 电脑扬声器没有声音,插上耳机也检测不到
  18. 数据分析师 知识体系 业务篇
  19. 通用爬取文章及图片导出到Word主程序代码
  20. PCB设计走线细节讲解(图文结合|强力推荐)

热门文章

  1. 非常可乐(三个杯子倒水问题)
  2. 老毛子Padavan固件DDNS不更新问题
  3. python获取星期几_如何在Python中获取日期的星期几?
  4. 利用python爬取股票实时信息
  5. 5种方法完美解决android软键盘挡住输入框方法详解
  6. 10 个开源免费的电子商务平台
  7. Repeater嵌套总结
  8. a-range-picker限制选择今天之前的时间和今天之后的时间
  9. 网络请求(四)Retrofit实战——金山词霸查词API遇到的问题
  10. 七巧板的制作(结合js 数组对象 for循环)