数据结构与算法题目集(中文) - 7-32 哥尼斯堡的“七桥问题”(25 分)
题目链接:点击打开链接
题目大意:略。
解题思路:并查集 + 顶点度数偶数判断。
如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)。
如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。
具有欧拉回路的图称为欧拉图(简称E图)。具有欧拉路径但不具有欧拉回路的图称为半欧拉图。
1、无向图存在欧拉回路的充要条件:
一个无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图。
2、有向图存在欧拉回路的充要条件:
一个有向图存在欧拉回路,所有顶点的入度等于出度且该图是连通图。
AC 代码
#include<bits/stdc++.h>
#include<cmath>#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;const int maxn=1010;int n,m;
int pre[maxn], vis[maxn][maxn], deg[maxn];void init()
{for(int i=1;i<=n;i++) pre[i]=i;mem(vis,0);mem(deg,0);
}int find(int x)
{return pre[x]==x?x:pre[x]=find(pre[x]);
}int main()
{while(~scanf("%d%d",&n,&m)){init();int u,v;for(int i=0;i<m;i++){scanf("%d%d",&u,&v);if(!vis[u][v]){vis[u][v]=vis[v][u]=1;deg[u]++, deg[v]++;}pre[find(u)]=pre[find(v)]; // 合并为同一个根}int cnt=0;for(int i=1;i<=n;i++){if(pre[i]==i) // 统计 root 结点个数{cnt++;if(cnt>1) break;}if(deg[i]%2!=0) // 必须所有顶点度数都为偶数{cnt=-1; break;}}puts(cnt==1?"1":"0");}return 0;
}
数据结构与算法题目集(中文) - 7-32 哥尼斯堡的“七桥问题”(25 分)相关推荐
- 7-32 哥尼斯堡的“七桥问题” (25 分)(思路+详解+题目分析)两种做法任选其一
一:题目: 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-178 ...
- 结构与算法 7-32 哥尼斯堡的“七桥问题” (25 分)
7-32 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...
- 哥尼斯堡的“七桥问题” (欧拉回路,并查集)
哥尼斯堡的"七桥问题" (25分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉 ...
- 7-12 哥尼斯堡的“七桥问题” (25 分)(并查集)
7-12 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...
- 数据结构与算法题目集7-32——哥尼斯堡的“七桥问题”
我的数据结构与算法题目集代码仓:https://github.com/617076674/Data-structure-and-algorithm-topic-set 原题链接:https://pin ...
- PTA 哥尼斯堡的“七桥问题”(并查集 + 性质判断)
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
- 案例6-1.3 哥尼斯堡的“七桥问题” (并查集)
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
- 7-32 哥尼斯堡的“七桥问题” (欧拉回路)(PAT算法题目集)
7-32 哥尼斯堡的"七桥问题" 分数 25 作者 DS课程组 单位 浙江大学 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七 ...
- 数据结构与算法实验6——图论 7-9 哥尼斯堡的“七桥问题”
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
最新文章
- 读取Node.js中的环境变量
- winform datagridview控件使用
- LSTM implementation explained
- mysql 索引- 笔记
- 第二十期:黄金三步法 | 汇报时,如何让老板快速抓住重点?
- Mysql数据库备份和还原常用的命令
- Elasticell-聊聊Raft的优化
- react轮播图插件_React 基础面试题 - 和你随便聊聊 React
- 51单片机温控风扇仿真原理图 C语言程序,51单片机温控风扇(含程序+原理图+仿真+PCB)...
- 【Android工具】神器来了,游戏安装加速器ourplay,重点:附赠强大免费gmail邮箱注册...
- 神经网络建模的基本思想,建模方法神经网络设计
- Muti-scale related papers
- Self-attention GAN
- 信息收集的方法有哪些
- 在OpenGL中实现Geometry Instancing
- 静态、动态、伪静态的URL结构到底哪种更利于SEO
- 微信与星巴克合推用星说,小卡背后有什么大招?
- java-php-python-仓储ERP系统计算机毕业设计
- 富文本编辑器处理过的字符串部分字符正则捕获不到,含有不可见字符\u200B
- 软考--流水线问题吞吐率详解