欧拉回路
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 18576    Accepted Submission(s): 7219
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

C/C++:

 #include <map>
#include <queue>
#include <cmath>
#include <vector>
#include <string>
#include <cstdio>
#include <cstring>
#include <climits>
#include <iostream>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
const int my_max = ; int n, m, my_pre[my_max], a, b, my_node[my_max]; int my_find(int x)
{
int n = x;
while (n != my_pre[n])
n = my_pre[n];
int i = x, j;
while (n != my_pre[i])
{
j = my_pre[i];
my_pre[i] = n;
i = j;
}
return n;
} bool is_eulerian()
{
for (int i = ; i <= n; ++ i)
if (my_node[i] & ) return false;
int temp = my_find();
for (int i = ; i <= n; ++ i)
if (my_find(i) != temp) return false;
return true;
} int main()
{
while (scanf("%d", &n), n)
{
scanf("%d", &m);
memset(my_node, , sizeof(my_node));
for (int i = ; i <= n; ++ i)
my_pre[i] = i; while (m --)
{
scanf("%d%d", &a, &b);
my_node[a] ++, my_node[b] ++;
int n1 = my_find(a), n2 = my_find(b);
my_pre[n1] = n2;
} if (is_eulerian()) printf("1\n");
else printf("0\n");
}
return ;
}

最新文章

  1. 纯css来实现提示框
  2. [Android Pro] Android 官方推荐 : DialogFragment 创建对话框
  3. Asp.Net MVC中Controller与View之间传递的Model
  4. ACM 荷兰国旗问题
  5. Openwrt Uboot烧写
  6. 关于使用UDP(TCP)跨局域网,NAT穿透的心得
  7. 2.1Android底层开发需要哪些工具
  8. poj 1273 Drainage Ditches 最大流入门题
  9. LNMP环境下压力测试时的主要调试参数
  10. xp主机用VMware9和10安装Ubuntu12.04后无法进入图像界面
  11. MVC client validation after PartialView loaded via Ajax MVC3中 弹出 Dialog时候 提交的时候 使用 Jquery 不验证 form表单 的解决办法
  12. centos6.4 yum kvm
  13. Android自动化测试之Monkey工具
  14. ACM、OI等比赛中的程序对拍问题
  15. hive 不同用户 权限设置 出错处理
  16. SQL SERVER 2008 Hierarchyid数据类型
  17. 虚拟机Centos开机以后,有eth0网卡,但是没有IP,Determine IP information for eth0.. no link present check cable
  18. Django学习报错记录
  19. 个人作业3—个人总结(Alpha阶段)
  20. python学习第20天

热门文章

  1. ‎Cocos2d-x 学习笔记(14.2) EventListener _paused _isEnabled _isRegistered
  2. 套壳浏览器与Chrome浏览器之间的差别
  3. Vulnhub靶场渗透练习(五) Lazysysadmin
  4. ESP32 开发之旅① 走进ESP32的世界 安装开发环境
  5. uni-app 请求封装
  6. 彻底解决 Mechanism level: Failed to find any Kerberos tgt
  7. 小白学 Python(13):基础数据结构(字典)(下)
  8. (二)Kinect关节识别
  9. windows系统先安装hexo
  10. Mac OS 简易U盘重装系统 亲测