九度OJ 1027:欧拉回路 (欧拉回路)
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2989
解决:1501
- 题目描述:
- 
欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?
- 输入:
- 
测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结束。
- 输出:
- 
每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。
- 样例输入:
- 
3 3 
 1 2
 1 3
 2 3
 3 2
 1 2
 2 3
 0
- 样例输出:
- 
1 
 0
思路:
开始以为这道题让输出欧拉回路,后来发现只要判断是否存在就可以了。判断欧拉回路非常简单:
(1)对无向图,所有点度数为偶数;
(2)对有向图,所有点入度等于出度,出发点和终止点分别多一条入度和出度。
代码:
#include <stdio.h>
#include <string.h> #define N 1000 int main(void)
{
int n, m;
int i, j;
int a, b;
int map[N+1][N+1]; while (scanf("%d%d", &n, &m) != EOF && n)
{
memset(map, 0, sizeof(map));
for (i=0; i<m; i++)
{
scanf("%d%d", &a, &b);
map[a][b] = map[b][a] = 1;
} for (i=1; i<=n; i++)
{
int degree = 0;
for (j=1; j<=n; j++)
{
if (map[i][j])
degree ++;
}
if (degree%2 == 1)
break;
}
if (i <= n)
printf("0\n");
else
printf("1\n");
} return 0;
}
/**************************************************************
Problem: 1027
User: liangrx06
Language: C
Result: Accepted
Time:80 ms
Memory:4756 kb
****************************************************************/
九度OJ 1027:欧拉回路 (欧拉回路)的更多相关文章
- 九度oj  题目1087:约数的个数
		题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ... 
- 九度OJ  1502  最大值最小化(JAVA)
		题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ... 
- 九度OJ,题目1089:数字反转
		题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n. ... 
- 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)
		题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ... 
- 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划
		题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ... 
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
		题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ... 
- 九度OJ 1371 最小的K个数 -- 堆排序
		题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ... 
- 九度OJ 题目1384:二维数组中的查找
		/********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ... 
- hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人
		钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ... 
随机推荐
- 渗透测试集成环境Faraday
			渗透测试集成环境Faraday Kali Linux集成了海量的渗透测试工具.但是这些工具在使用的时候,还是分离的.虽然用户可以通过Shell.日志/报告导入导出功能等方式,进行整合,但是仍然不便 ... 
- 伪造服务钓鱼工具Ghost Phisher
			伪造服务钓鱼工具Ghost Phisher Ghost Phisher是一款支持有线网络和无线网络的安全审计工具.它通过伪造服务的方式,来收集网络中的有用信息.它不仅可以伪造AP,还可以伪造DNS ... 
- Loj #6142. 「2017 山东三轮集训 Day6」A
			link: https://loj.ac/problem/6142 推完一波式子之后发现求的是:ΣC(N,i)^2, 其中i是偶数. 然后就可以卢卡斯乱搞了,分奇偶和之前的答案合并就好了233. #i ... 
- C#获取程序所在的目录
			有的时候,我们需要读取程序所在目录下的一些文件,最常见的写法是直接通过".\xxx.file"之类的相对路径来获取文件.虽然这种写法大多数的时候能正确工作,但却又一个很大的隐患:程 ... 
- ARM Linux系统调用的原理
			转载自:http://blog.csdn.net/hongjiujing/article/details/6831192 ARM Linux系统调用的原理 操作系统为在用户态运行的进程与硬件设备进行交 ... 
- http://preshing.com/
			http://preshing.com/ http://mechanical-sympathy.blogspot.com/ 
- 【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解
			Register 用register声明的变量称着寄存器变量,在可能的情况下会直接存放在机器的寄存器 中.但对32位编译器不起作用.当global optimizations(全局优化)开的时候,它会 ... 
- Mogodb集群搭建
			1.上传解压软件包 cd /home/dinpay/ 解压:tar -zxvf mongodb-linux-x86_64-rhel62-3.2.2.tgz 重命名: mv mongodb-lin ... 
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览  client对象模型(CSOM)基础
			BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型(CSOM)基础 在SP2 ... 
- HTML5 Canvas 绘制五角星
			代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type ... 
