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

 哥尼斯堡的“七桥问题”   (25分)

哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。

可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。

这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?

输入格式:

输入第一行给出两个正整数,分别是节点数NN (1\le N\le 10001N1000)和边数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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人驾驶汽车之争本田为何未战先败

摘要 : 本田汽车的研发部门对于汽车虽然理解深刻&#xff0c;但从整体而言&#xff0c;本田的造车理念还停留在上个时代&#xff0c;在未来的无人驾驶竞争中&#xff0c;本田已经有未战先啊败的苗头。 百度百家The BIG Talk硅谷站连续5小时的高密度头脑风暴&#xff0c;果然让人…

理解git结构与简单操作(四)合并分支的方法与策略

接上节&#xff0c;此时的dev分支与master分支的进度就不一样了&#xff0c;所以需要将dev分支与master分支同步。这里需要的就是合并分支的操作&#xff0c;大家应该都知道用git merge或者git rebase。 git merge merge&#xff0c;即「合并」。 fast-forward 当出现我们上面图…

摄像机标定

利用摄像机所拍摄到的图像来还原空间中的物体。在这里&#xff0c;不妨假设摄像机所拍摄到的图像与三维空间中的物体之间存在以下一种简单的线性关系&#xff1a;[像]M[物],这里&#xff0c;矩阵M可以看成是摄像机成像的几何模型。 M中的参数就是摄像机参数。通常&#xff0c;这…

Linux下Tomcat重新启动

在Linux系统下&#xff0c;重启Tomcat使用命令操作的&#xff01; 首先&#xff0c;进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看Tomcat是否以关闭 ps -ef|grep java 如果显示以下相似信息&#xff0c;说明Tomcat还没有关闭 root …

大数据和人工智能的关系是什么?

何为大数据&#xff1f;何为人工智能&#xff1f; 大数据&#xff0c;百度百科上是这么定义的&#xff0c;指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率…

张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】

三、致敬“张正友标定” 此处“张正友标定”又称“张氏标定”&#xff0c;是指张正友教授于1998年提出的单平面棋盘格的摄像机标定方法。张氏标定法已经作为工具箱或封装好的函数被广泛应用。张氏标定的原文为“A Flexible New Technique forCamera Calibration”。此文中所提到…

软工网络15个人阅读作业2——提问题

提出问题 快速通读教材《构建之法》&#xff0c;并参照提问模板&#xff0c;提出5个问题。 问题一&#xff1a; p83有一段话&#xff1a; 两人在一起合作&#xff0c;自然会出现不同意见&#xff0c;每个人都有自己的想法&#xff0c;在两个人平等合作的情况下&#xff0c;不存…

绝对路径VS相对路径

绝对路径&#xff1a;不必赘述&#xff0c;就是从盘符开始写直到找到你所需要的文件为止&#xff0c;把所有的目录写完整即可。但是在做网站的时候绝对不推荐用绝对路径&#xff0c;因为不可能服务器中的路径和在做设计时候所用的电脑的路径一致&#xff0c;也不可能说在服务器…

四、极大似然参数估计

四、极大似然参数估计 此篇博文&#xff0c;玉米将和大家分享一下“张氏标定”除几何推导外的另外一大精髓&#xff1a;参数估计。 张教授在大作“A Flexible New Technique for Camera Calibration”中的原话如下&#xff1a;” The above solution is obtained through minim…

xtrabackup安装使用

2019独角兽企业重金招聘Python工程师标准>>> 【MySQL】xtrabackup安装使用 拾荒者charley 关注 2018.03.19 09:19 字数 186 阅读 17评论 0喜欢 0 前言&#xff1a;说到MySQL备份&#xff0c;主要采用的方法无非就是mysqldump/mysqldumper以及我们今天要说的热备利器…

2017/3/10 morning

转载于:https://www.cnblogs.com/bgd140206325/p/6529497.html

六、张正友标定法小结

六、张正友标定法小结 这一博文&#xff0c;是玉米后补上的。因为觉得前面用了三篇博文来描述张氏标定法&#xff0c;略显散乱。在这里总结一下&#xff0c;使条理清晰一点。另外关于张氏标定所得参数也还有两点需要澄清。下面这个总结&#xff0c;其实也是在“A Flexible New …

SqlServer图形数据库初体验

SQL Server2017新增了一个新功能叫做图形数据库。图形指的拓扑图形&#xff0c;是一些Node表和Edge表的合集&#xff0c;Node对应关系数据库中的实体&#xff0c;比如一个人、一个岗位等&#xff0c;Edge表指示Node之前的关系&#xff0c;比如张三在经理岗位。图形表比较适合用…

Oracle CASE WHEN 用法介绍

1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASEWHEN sex 1 THEN 男 WHEN sex 2 THEN 女 ELSE 其他 END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT grad…

五、畸变矫正—让世界不在扭曲

五、畸变矫正—让世界不在扭曲 这篇博文所要讲述的内容&#xff0c;是标定的主要用途之一&#xff1a;矫正摄像机的畸变。对于图像畸变矫正的方法&#xff0c;张正友教授也在其大作“A Flexible New Technique forCamera Calibration”中给出。 玉米在这里先为大家介绍一下&…

《MySQL必知必会》[01] 基本查询

《MySQL必知必会》&#xff08;点击查看详情&#xff09;1、写在前面的话这本书是一本MySQL的经典入门书籍&#xff0c;小小的一本&#xff0c;也受到众多网友推荐。之前自己学习的时候是啃的清华大学出版社的计算机系列教材《数据库系统概论》&#xff0c;基础也算是半罐水&am…

(七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】

七、立体标定与立体校正 这篇博文中&#xff0c;让玉米和大家一起了解一下&#xff0c;张氏标定是怎样过渡到立体标定的&#xff1f;在这里主要以双目立体视觉进行分析。对于双目立体视觉&#xff0c;我们有两个摄像头。它们就像人的一双眼睛一样&#xff0c;从不同的方向看世界…

让 jQuery UI draggable 适配移动端

背景&#xff1a; 在移动端&#xff0c;本人要实现对某个元素的拖动&#xff0c;想到使用 jQuery UI 的 draggable 功能。但是发现此插件的拖动只支持PC端&#xff0c;不支持移动端。 原因&#xff1a; 原始的 jQuery UI 里&#xff0c;都是mousedown、mousemove、mouseup来描述…

LAMP(7限定某个目录禁止解析php、 限制user_agent、 PHP相关配置、PHP扩展模块

限定某个目录禁止解析php防止***上传一个目录文件php&#xff0c;网站会从而解析php,对我们的网站有很大的危险。因此&#xff0c;我们需要在能上传文件的目录直接禁止解析PHP代码禁止步骤1.编辑虚拟主机配置文件&#xff1a;增添内容核心配置文件内容<Directory /data/wwwr…

编译器的功能是什么

1、编译器就是将“一种语言&#xff08;通常为高级语言&#xff09;”翻译为“另一种语言&#xff08;通常为低级语言&#xff09;”的程序。一个现代编译器的主要工作流程&#xff1a;源代码 (source code) → 预处理器(preprocessor) → 编译器 (compiler) → 目标代码 (obje…