https://cn.vjudge.net/contest/209173#problem/N

题目大意:给出N个点,M条边,问有没有欧拉回路存在。

题目分析:1.无向图欧拉回路是否连通2.所有点的度为偶数。并查集+degree【】

代码:

#include<iostream>
#include<stdio.h>
#include<string.h>using namespace std;const int maxn=1000+10;
int degree[maxn];
int fa[maxn];int findset(int i)
{if(fa[i]==-1)return i;return fa[i]=findset(fa[i]);
}
void init()
{memset(fa,-1,sizeof(fa));memset(degree,0,sizeof(degree));
}
int main()
{int m,n;int u,v;int cnt;while(scanf("%d",&n)){cnt=0;if(n==0)break;init();scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d%d",&u,&v);//cout<<"***"<<endl;degree[u]++;degree[v]++;int pa=findset(u);int pb=findset(v);if(pa!=pb){fa[pa]=pb;}// cout<<"hahaha"<<endl;}/* for(int i=1;i<=n;i++){cout<<"fa[i]"<<"  "<<i<<"  "<<fa[i]<<endl;}*/for(int i=1;i<=n;i++){cout<<"findset(i)<<"<<findset(i)<<endl;cout<<"fa[i]<<"<<fa[i]<<endl;//这里运行一下,发现findset(i)跟fa[i]在起点处还是不同的。找祖先的话要用findsetif(findset(i)==i){cnt++;}}if(cnt>1){printf("0\n");continue;}// for(int i=1;i<=n;i++)//{//  cout<<degree[i]<<"degree[]"<<endl;//}cnt=0;//计数奇数度的点for(int i=1;i<=n;i++)if(degree[i]%2==1)cnt++;if(cnt!=0)printf("0\n");else printf("1\n");}return 0;
}

欧拉回路(简单判断是否有欧拉回路存在)相关推荐

  1. 简单判断用户重复登录,记录一下

    Code //判断用户是否重复登录 string key = TextBox1.Text; //用户名文本框设为cache关键字 string uer = Convert.ToString(Cache ...

  2. php 判断苹果还是安卓,PHP简单判断iPhone、iPad、Android及PC设备的方法

    本文实例讲述了PHP简单判断iPhone.iPad.Android及PC设备的方法.分享给大家供大家参考,具体如下: 因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面 ...

  3. js简单判断身份证合法性以及身份证生日合法性

    该函数可以判断身份证生意是否合法,简单判断是否符合身份证规则,没有验证区县等等,借鉴了网络上的一些写法.. function idCard(UUserCard, num) { // 身份证号码为15位 ...

  4. html判断用户名的合法性,javascript简单判断输入内容是否合法的方法

    本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输 ...

  5. js 超简单 判断是否字符串是否为纯数字

    js 超简单 判断是否字符串是否为纯数字 if(Number(num)+'' !==NaN+'' ){console.log('是纯数字') }else{console.log('不是纯数字') }

  6. JavaScript案例之使用验证码进行简单判断

    JavaScript案例之使用验证码进行简单判断 源代码: <!DOCTYPE html> <html><head><meta charset="u ...

  7. python如何判断列表是否为空_python简单判断序列是否为空的方法

    python简单判断序列是否为空的方法 本文实例讲述了python简单判断序列是否为空的方法.分享给大家供大家参考.具体如下: 假设有如下序列: m1 = [] m2 = () m3 = {} 判断他 ...

  8. python笔记 之 手机号有效性简单判断

    需求 在用户数据清洗中需要简单地判断手机号的有效性,于是从网上查找到运营商的号段,通过简单判断手机号的前三位是不是在号段内和剩余的8位是不是全为数字来简单判断用户手机是否有效. 号段 移动 移动号段包 ...

  9. php 字符串不相等判断,php简单判断两个字符串是否相等的方法

    php简单判断两个字符串是否相等的方法 本文实例讲述了php简单判断两个字符串是否相等的方法.分享给大家供大家参考.具体实现方法如下: function strcomp($str1,$str2){ i ...

最新文章

  1. linux软中断分析,linux操作系统下的软中断问题分析_linux教程
  2. u8 和 char如何转化_如何编写高效率稳定的单片机代码
  3. ALC--软件定义架构的PLC
  4. vuejs简单介绍特点
  5. Leetcode 456.132模式
  6. c语言switch工资怎么弄,超级新手,用switch写了个计算器程序,求指导
  7. 2018年技术直播PPT干货分享
  8. java rxtx 64_win7 64为下使用rxtx串口通信
  9. 高斯过程回归预测Matlab简单实现
  10. 【CZY选讲·逆序对】
  11. 中国英语学习论坛(3)
  12. 我的项目_唐诗可视化项目
  13. 2021第十二届蓝桥杯大赛软件赛省赛C++ C组真题题解
  14. 《rust死灵书》阅读笔记
  15. FCS五色石 | 项目半月报(2020.5.1-2020.5.15)
  16. json在线编辑(xml转json,json视图,json格式检验,等等)神器
  17. ⭐❤️zigbee无线通信模块的深入浅出❤️⭐
  18. 详解Cisco ACS AAA认证
  19. 【LSTM回归预测】基于matlab LSTM神经网络回归预测【含Matlab源码 2227期】
  20. OPENCV手势识别抓取图片

热门文章

  1. 19-05【icloud】照片备份
  2. 做设计师要用到的工具软件
  3. 【算法】【树】已知先序中序序列求后序序列(详细解释)
  4. 全国计算机图书销售订单记录,销售订单管理信息系统.doc
  5. 82-FastDFS详解
  6. PS调色精灵ps插件
  7. python自动填表格_Windows下使用python3 + selenium实现网页自动填表功能
  8. 【生活】如何线上办理持有广州社保人员的异地分娩医保登记 - 定点医院 - 异地就医报销相关
  9. Web应用跨域访问解决方案
  10. About Refactoring