HDU 1878 欧拉回路 图论
2024-10-18 18:14:41
解题报告:题目大意,给出一个无向图,判断图中是否存在欧拉回路。
判断一个无向图中是否有欧拉回路有一个充要条件,就是这个图中不存在奇度定点,然后还要判断的就是连通分支数是否为1,即这个图是不是连通的,这个用并查集就可以了。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int map[];
int prim[];
int find(int n) {
return prim[n]==n? n:(prim[n] = find(prim[n]));
} int main() {
int n,m,x,y;
while(scanf("%d",&n)&&n) {
scanf("%d",&m);
for(int i = ;i<=n;++i)
prim[i] = i;
memset(map,,sizeof(map));
for(int i = ;i<=m;++i) {
scanf("%d%d",&x,&y);
map[x]++;
map[y]++;
if(x>y)
swap(x,y);
prim[find(x)] = find(y);
}
int flag = ;
int d = find();
for(int i = ;i<= n;++i) {
if(find(i) != d) {
flag = ;
break;
}
if(map[i]%) {
flag = ;
break;
}
}
printf(flag? "1\n":"0\n");
}
return ;
}
最新文章
- 常用 Git 命令
- Index的填充属性:FillFactor 和 PAD_INDEX
- ASP.NET 4.0尚未在 Web 服务器上注册 解决方法
- 轮廓线DP POJ3254 &;&; BZOJ 1087
- HTML制作个人简历
- Fiddler环境配置教程
- cocos2d-x之单点触碰初试
- 网卡流量查看软件bmon
- 基本的 HTML 标签 - 四个实例
- Masonry 固定宽度 等间距
- Spring.Net的Ioc功能基本配置
- DrawText的使用
- C++ map
- Dockerfile注意事项
- [图形学] 计算机图形学 with OpenGL开篇
- java文件的基本操作示例
- 使用Python开发的POC多线程批量执行小框架
- UOJ#218. 【UNR #1】火车管理 线段树 主席树
- 洛谷P4640 王之财宝 [BJWC2008] 数论
- C#演示如何使用 XML 将源码编入文档
热门文章
- Gitlab的develop角色的人没有权限无法提交的问题解决方案
- inconsistent line count calculation in projection snapshot
- Java学习笔记(二一)——Java 泛型
- 【BZOJ1013】【JSOI2008】球形空间产生器sphere(高斯消元)
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
- NoSQL数据库之国产开源产品:SequoiaDB 分析前言
- 每天一个linux命令(41):at命令
- note.js之 Mongodb在Nodejs上的配置及session会话机制的实现
- Java编程思想学习(十五) 注解
- BZOJ-3576 江南乐 博弈+优化