哥尼斯堡的“七桥问题” (欧拉回路,并查集)
哥尼斯堡的“七桥问题” (25分)
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。
可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。
这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?
输入格式:
输入第一行给出两个正整数,分别是节点数NN (1\le N\le 10001≤N≤1000)和边数MM;随后的MM行对应MM条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到NN编号)。
输出格式:
若欧拉回路存在则输出1,否则输出0。
输入样例1:
6 10
1 2
2 3
3 1
4 5
5 6
6 4
1 4
1 6
3 4
3 6
输出样例1:
1
输入样例2:
5 8
1 2
1 3
2 3
2 4
2 5
5 3
5 4
3 4
输出样例2:
0
题解:因为要回到原点,所以每个点的入度和出度这和一定是偶数。并查集,查看两点之间是否有联系,没有联系一定无法连通,输出0;
#include <iostream> #include<cstdio> #include<string> #include<cstring> #include<map> #include<set> #include<queue> #include<vector> #include<algorithm> using namespace std; int n,m; int k; int a[1005],team[1005]; int findteam(int k) {if (team[k]!=k) return team[k]=findteam(team[k]);else return k; } int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) team[i]=i;for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);a[x]++; a[y]++;int fx=findteam(x);int fy=findteam(y);if (fx!=fy) team[fy]=fx;}bool flag=1;for(int i=1;i<=n;i++)if (a[i]%2!=0){flag=0;break;}if (flag){int k=findteam(1);for(int i=2;i<=n;i++)if (k!=findteam(i)) {printf("0\n"); return 0;}printf("1\n");}else printf("0\n");return 0; }
转载于:https://www.cnblogs.com/stepping/p/6523955.html
哥尼斯堡的“七桥问题” (欧拉回路,并查集)相关推荐
- PTA 哥尼斯堡的“七桥问题”(并查集 + 性质判断)
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
- 7-32 哥尼斯堡的“七桥问题” (欧拉回路)(PAT算法题目集)
7-32 哥尼斯堡的"七桥问题" 分数 25 作者 DS课程组 单位 浙江大学 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七 ...
- 结构与算法 7-32 哥尼斯堡的“七桥问题” (25 分)
7-32 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...
- 7-41 哥尼斯堡的“七桥问题” (25 分)
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
- 5-32 哥尼斯堡的“七桥问题” (25分)
5-32 哥尼斯堡的"七桥问题" (25分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...
- pta 哥尼斯堡的“七桥问题”
7-14 哥尼斯堡的"七桥问题"(25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...
- 7-12 哥尼斯堡的“七桥问题” (25 分)(并查集)
7-12 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...
- 7-32 哥尼斯堡的“七桥问题” (25分)
7-32 哥尼斯堡的"七桥问题" (25分) 数据结构与算法题目集 问题: 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥 ...
- PTA——哥尼斯堡的“七桥问题(出现运行超时?不妨进来看看)
哥尼斯堡的"七桥问题 题目 答案 总结 题目 答案 #include<iostream> #include<vector> #include<cstring&g ...
最新文章
- SQL Server 索引结构及其使用(二)
- ASP.NET2.0中的全球化与本地化UICulture,Culture
- qt opencv库配置大全
- python编程培训-马哥教育官网-专业Linux培训班,Python培训机构
- 跨界巨头谋定现代农业-农民丰收节交易会:全产业链布局
- C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
- as3转换为html5,AS3和HTML5 - 使用正则表达式将字符串解析为数组
- python 返回空格_Python面试之 is 和 == 的区别
- oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作
- c++ 多线程_python要点-多线程
- 笔试占比近40%,中国人民大学高瓴人工智能学院2022年夏令营来袭
- vue项目项目启动步骤及常见错误处理
- littleVGL总结
- python这个处理器类型不支持该安装程序包_【处理器 不支持 该安装程序包】处理器不支持安装程序包_处理器不支持安装程序...
- MATLAB2014b画极坐标散点图
- 怎么看域名最终指向的ip_购买最终域名
- NATAPP内网穿透工具使用说明
- 《ThinkPHP 5实战》4个实战开发案例可从代码仓库下载
- 游戏手柄计算机,win7系统怎么设置连接手柄 win7电脑连接游戏手柄的方法
- mysql语言中修改表结构的命令_sql语句中修改表结构的命令是什么
热门文章
- 支持向量机 回归分析_支持向量机和回归分析
- 深入浅出SQL(三)——表的规范化
- 哪些贷款是正规的?哪些贷款千万别碰?
- 如何看待雅虎套现760亿美元从阿里巴巴退出?
- 广东网络借贷中介整改验收,留给平台的时间只有8天!
- 贷款不还会有什么后果?
- MATLAB工具箱介绍
- 身体好不是锻炼出来的
- 1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!
- u盘 linux centos 5.3,鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题...