纯裸题。。写着方便理解。。。

题意:判断一个无向图是否存在欧拉回路。。。

解题思路:并查集判断一下是否联通,然后再判断一下点的度数是否为偶数就行了;

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#define maxn 2010
using namespace std;
int f[maxn];
int findf(int x)
{
if(f[x]==x)
return x;
else return findf(f[x]);
}
void join(int x,int y)
{
int t1,t2;
t1=findf(x);
t2=findf(y);
if(t1!=t2)
f[t2]=t1;
}
int main()
{
int n;
int degree[maxn];
int m;
int cnt;
int x,y;
int flag;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==)
break;
cnt=,flag=;
memset(degree,,sizeof(degree));
for(int i=;i<=n;i++)
f[i]=i;
for(int i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
join(x,y);
degree[y]++;
degree[x]++;
}
for(int i=;i<=n;i++)
{
if(f[i]==i)
cnt++;
}
for(int i=;i<=n;i++)
{
if(degree[i]%==)
flag=;
}
if(cnt==&&flag==)
printf("1\n");
else
printf("0\n");
}
return ;
}

最新文章

  1. Rust的力量
  2. 《理解 ES6》阅读整理:函数(Functions)(五)Name Property
  3. Nginx之location 匹配规则详解
  4. HTTP请求 GET POST 网络编程实现(转)
  5. 日志级别的选择:Debug、Info、Warn、Error还是Fatal
  6. windows 7 + vs2010 sp1编译 x64位版qt4
  7. zepto源码--整体框架--学习笔记
  8. C++ STL之排序算法
  9. 在Linux服务器上使用Vbox安装虚拟机
  10. Linux:FHS标准
  11. Android系统更新防互刷功能实现与分析【转】
  12. c# 之继承、封装、多态
  13. 笔记react router 4(二)
  14. spring获取配制文件的参数
  15. linux cfs调度器
  16. [正经分析] DAG上dp两种做法的区别——拓扑序与SPFA
  17. 535. Encode and Decode TinyURL
  18. 事件处理程序DOM0,DOM2,IE的区别总结
  19. Redis构建全局并发锁
  20. Excel不同工作簿之间提取信息

热门文章

  1. 解决IsEditable=&quot;True&quot;的ComboBox在DataGrid中点击一次不能选中行的问题
  2. HashMap是如何工作的
  3. 朱晔和你聊Spring系列S1E5:Spring WebFlux小探
  4. Log4J.xml配置详解
  5. Python_练习题_49
  6. hibernate操纵数据库常用方法 及 hibernate对象的三种状态
  7. iOS UICollectionView 在滚动时停在某个item位置上
  8. 集大软件工程15级结对编程week1
  9. html总结:背景图片拉伸
  10. semantic-ui 图标