欧拉七桥问题的一种证明(原创)

这是从网上下载的一张图片。

分析:

1定义:首先出度与入度之和为奇数的点叫为奇点。

2定理:一个点的|入度-出度|≤1,当该点为奇点时取等号。且对于某点而言,

若入度-出度=1,则该点必然终点;

若入度-出度=-1,则该点必然为起点

证明:同一个人不可能从同一个地方连续出去两次,也不可能从另外一个地方连续进入某个地方两次。

所以对于一个点而言,出度和入度必须交替进行,所以|入度-出度|≤1,该点为奇点时取等号。

倘若入度-出度=1,则行走过程必然为入-出-入-出-...-入。最后一步是入,入完过程终止,因此该点为终点。

倘若入度-出度=-1,则行走过程必然为出-入-出-...-出。第一步是出,之前没有过程,直接出发,因此该点是起点。

而对于入度=出度的点,当行走过程为入-出-入-...-出时,则该点只是一个经过点。

当行走过程为出-入-出-...-入,则该点同时是起点和终点。

3.由上述定理和定义,可以推出所有的奇点(即入度-出度=±1)不是起点就是终点。

而对于七桥问题中有四个奇点,与起点和终点之和最多有两个点矛盾。所以七桥问题无法无重复一次性走完。

推论1:若存在一个奇点,有且只有另一个奇点,他们一个是起点,一个是终点。

推论2:若没有奇点,则可以从任何点出发遍历全部路径,且该点既是起点也是终点。

时间: 2024-12-14 05:10:37

欧拉七桥问题的一种证明(原创)的相关文章

欧拉函数一些定理的证明

参考书籍:<ACM-ICPC程序设计系列--数论及应用> 欧拉函数φ(n)指不超过n且与n互质的正整数的个数,其中n是一个正整数. 欧拉函数的性质:它在整数n上的值等于对n进行素因子分解后,所有的素数上的欧拉函数之积. 定义: 1.定义在所有正整数上的函数称为算数函数   2.算法函数f如果满足对任意两个互质的正整数n和m,均有f(mn)=f(n)f(m),就称为积性函数.如果对任意的两个正整数n和m,均有f(mn)=f(m)f(n),就称为完全积性函数. (欧拉函数就是一个积性函数证明:ht

数论快速入门(同余、扩展欧几里德、中国剩余定理、大素数测定和整数分解、素数三种筛法、欧拉函数以及各种模板)

数学渣渣愉快的玩了一把数论,来总结一下几种常用的算法入门,不过鶸也是刚刚入门, 所以也只是粗略的记录下原理,贴下模板,以及入门题目(感受下模板怎么用的) (PS:文中蓝色字体都可以点进去查看百度原文) 附赠数论入门训练专题:点我打开专题(题目顺序基本正常,用以配套数论入门) 一.同余定理 简单粗暴的说就是:若 a-b == m 那么 a%m == b%m 这个模运算性质一眼看出...直接上入门水题: Reduced ID Numbers 附AC代码(这个也没啥模板....知道就好) #inclu

求逆元的四种算法(拓欧费马小线性推欧拉)

求逆元的四种算法 拓展欧几里得算法求逆元 上一篇博客中已经讲过拓展欧几里得算法,并且讲解了求逆元的原理.这里只列出代码 在要求逆元的数与p互质时使用 代码 //扩展欧几里得定理 int ex_gcd(int a,int b,int& x,int& y) { if(b==0) { x=1; y=0; return a; } int ans = ex_gcd(b,a%b,x,y); int tmp = x; x = y; y = tmp-a/b*y; return ans; } int cal

陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】

链接:https://www.nowcoder.com/acm/contest/121/J来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的小老弟.小老弟是如何产生的呢?聪明的iko告诉黑猫,其实是有规律的(她怎么知道???)! 一开始,有两个原始二五仔,代号0/1和1/1, 从原始二五仔到第n代小老弟,每代相邻两个小老弟a/b和c/d,产生一个新的小老弟(a+c)/(b+d),成为下一代新成员.将每一代的小老弟代号约分(包括0/1,1/

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

题目描述: 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决了这个问题,并由此创立了拓扑学. 这个问题如今可以描述为判断欧拉回路是否存在的问题.欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个无向图,问是否存在欧拉回路? 输入格式: 输入第一行给出两个正整数,分别是节点数NN (1\le N\le 1000

dfs求欧拉道路

从一个节点出发的一条路径每条边只经过一次,则把这条路称作欧拉道路. 欧拉道路存在着这样的性质除起点和终点以外所有经过的节点的出度和入度相等,也就是说除起点和终点以外的节点的度都为偶数. 同时一个无向图是连通的,且最多存在两个奇点,则一定存在欧拉道路,并且如果是有两个奇点,欧拉道路一定是从一个奇点出发到达另外一个奇点,如果没有奇点,则从任何一个节点出发然后最终回到该点(欧拉回路),奇点为一的情况是不存在的. 对于存在欧拉道路的情况,最多只能有两个点的入度不等于出度,而且必须是其中一个节点的入度比出

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

哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决了这个问题,并由此创立了拓扑学. 这个问题如今可以描述为判断欧拉回路是否存在的问题.欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个无向图,问是否存在欧拉回路? 输入格式: 输入第一行给出两个正整数,分别是节点数N (1)和边数M:随后的M行对应M条边,每行给

刷完欧拉计划中难度系数为5%的所有63道题,我学会了Rust中的哪些知识点?

我为什么学Rust? 2019年6月18日,Facebook发布了数字货币Libra的技术白皮书,我也第一时间体验了一下它的智能合约编程语言MOVE,发现这个MOVE是用Rust编写的,看来想准确理解MOVE的机制,还需要对Rust有深刻的理解,所以又开始了Rust的快速入门学习. 欧拉计划 看了一下网上有关Rust的介绍,都说它的学习曲线相当陡峭,曾一度被其吓着,后来发现Rust借鉴了Haskell等函数式编程语言的优点,而我以前专门学习过Haskell,经过一段时间的入门学习,我现在已经喜欢

与项目欧拉速度比较:C vs Python与Erlang vs Haskell

我从问题#12 ProjectEuler作为编程练习,并比较我在C,Python,Erlang和Haskell中的实现(当然不是最优)实现.为了获得更高的执行时间,我搜索了第一个有1000个以上因子的三角形数字,而不是原始问题中所述的500个. 结果如下: <强> C: [email protected]:~/erlang$ gcc -lm -o euler12.bin euler12.c [email protected]:~/erlang$ time ./euler12.bin 84216