哥尼斯堡的“七桥问题”   (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

哥尼斯堡的“七桥问题” (欧拉回路,并查集)相关推荐

  1. PTA 哥尼斯堡的“七桥问题”(并查集 + 性质判断)

    哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...

  2. 7-32 哥尼斯堡的“七桥问题” (欧拉回路)(PAT算法题目集)

    7-32 哥尼斯堡的"七桥问题" 分数 25 作者 DS课程组 单位 浙江大学 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七 ...

  3. 结构与算法 7-32 哥尼斯堡的“七桥问题” (25 分)

    7-32 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...

  4. 7-41 哥尼斯堡的“七桥问题” (25 分)

    哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...

  5. 5-32 哥尼斯堡的“七桥问题” (25分)

    5-32 哥尼斯堡的"七桥问题" (25分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...

  6. pta 哥尼斯堡的“七桥问题”

    7-14 哥尼斯堡的"七桥问题"(25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...

  7. 7-12 哥尼斯堡的“七桥问题” (25 分)(并查集)

    7-12 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...

  8. 7-32 哥尼斯堡的“七桥问题” (25分)

    7-32 哥尼斯堡的"七桥问题" (25分) 数据结构与算法题目集 问题: 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥 ...

  9. PTA——哥尼斯堡的“七桥问题(出现运行超时?不妨进来看看)

    哥尼斯堡的"七桥问题 题目 答案 总结 题目 答案 #include<iostream> #include<vector> #include<cstring&g ...

最新文章

  1. SQL Server 索引结构及其使用(二)
  2. ASP.NET2.0中的全球化与本地化UICulture,Culture
  3. qt opencv库配置大全
  4. python编程培训-马哥教育官网-专业Linux培训班,Python培训机构
  5. 跨界巨头谋定现代农业-农民丰收节交易会:全产业链布局
  6. C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
  7. as3转换为html5,AS3和HTML5 - 使用正则表达式将字符串解析为数组
  8. python 返回空格_Python面试之 is 和 == 的区别
  9. oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作
  10. c++ 多线程_python要点-多线程
  11. 笔试占比近40%,中国人民大学高瓴人工智能学院2022年夏令营来袭
  12. vue项目项目启动步骤及常见错误处理
  13. littleVGL总结
  14. python这个处理器类型不支持该安装程序包_【处理器 不支持 该安装程序包】处理器不支持安装程序包_处理器不支持安装程序...
  15. MATLAB2014b画极坐标散点图
  16. 怎么看域名最终指向的ip_购买最终域名
  17. NATAPP内网穿透工具使用说明
  18. 《ThinkPHP 5实战》4个实战开发案例可从代码仓库下载
  19. 游戏手柄计算机,win7系统怎么设置连接手柄 win7电脑连接游戏手柄的方法
  20. mysql语言中修改表结构的命令_sql语句中修改表结构的命令是什么

热门文章

  1. 支持向量机 回归分析_支持向量机和回归分析
  2. 深入浅出SQL(三)——表的规范化
  3. 哪些贷款是正规的?哪些贷款千万别碰?
  4. 如何看待雅虎套现760亿美元从阿里巴巴退出?
  5. 广东网络借贷中介整改验收,留给平台的时间只有8天!
  6. 贷款不还会有什么后果?
  7. MATLAB工具箱介绍
  8. 身体好不是锻炼出来的
  9. 1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!
  10. u盘 linux centos 5.3,鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题...