文章目录

  • 题目解答
    • 无向图的一笔画
    • 有向图的一笔画
  • 题目来源

题目解答


来源:acwing

分析:

对于一个给定的图,怎样判断是否存在着一个恰好包含了所有的边,并且没有重复的路径?这就是一笔画问题。用图论的术语来说,就是判断这个图是否是一个能够遍历完所有的边而没有重复。这样的图现称为欧拉图。这时遍历的路径称作欧拉路径(一个环或者一条链),如果路径闭合(一个圈),则称为欧拉回路

一笔画定理:

无向图的一笔画

连通的无向图 G{\displaystyle G}G有欧拉路径的充要条件是:G{\displaystyle G}G中奇顶点(连接的边数量为奇数的顶点)的数目等于0或者2

连通的无向图 G{\displaystyle G}G 是欧拉环(存在欧拉回路)的充要条件是:G{\displaystyle G}G中每个顶点的度都是偶数

有向图的一笔画

一个连通有向图G{\displaystyle G}G有欧拉路径,指存在一个顶点,从它出发,沿着有向边的方向,可以不重复地遍历图中所有的边。

有向图的欧拉回路则是指可以从某一顶点开始,沿有向边的方向不重复地遍历所有边,然后回到原来出发的顶点。

一个连通的有向图可以表示为一条从顶点u{\displaystyle u}u到v{\displaystyle v}v的(不闭合的)欧拉路径的充要条件是:

  • u{\displaystyle u}u的出度(从这个顶点发出的有向边的数量)比入度(指向这个顶点的有向边的数量)多1,v{\displaystyle v}v的出度比入度少1,
  • 而其它顶点的出度和入度都相等。

一个连通的有向图是欧拉环(存在欧拉回路)的充要条件是以下两个之一:

  • 每个顶点的出度和入度都相等;
  • 存在一系列的(有向)环C1,C2,⋯,Cm{\displaystyle C_{1},C_{2},\cdots ,C_{m}}C1​,C2​,⋯,Cm​,使得图G{\displaystyle G}G里的每一条边都恰好属于某一个环。

来源:维基百科

对于本题:

因为题目告诉了铲雪车从起点一定可以到达任何街道,并且本题所有边都是双向的,而且每个点的出度和入度都相等。所以一定是欧拉回路,可以一笔画,这样的话就是求每条道路的长度。

看似是欧拉路径求长度的问题,实际上是一道脑筋急转弯问题,只需要求出每条路的长度,由于是双向的,所以需要乘以2,然后除以铲雪的速度,就可以求出总的时间,然后进行四舍五入求分钟。

ac代码

#include<bits/stdc++.h>
using namespace std;
const int N = 4010;
// 本题的图中所有点的入度和出度都是相等的,所以存在欧拉回路
typedef long long LL;double get(double x1, double y1, double x2, double y2){double dx = x1 - x2;double dy = y1 - y2;return sqrt(dx * dx + dy * dy) * 2;
}
int main(){double x,y;cin >> x >> y;double sum = 0;double x1, y1, x2, y2;while(cin >>x1 >> y1 >> x2 >> y2){sum += get(x1, y1, x2, y2);}int minutes = round(sum/ 1000 /20 * 60);int hours = minutes / 60;minutes  %= 60;printf("%d:%02d", hours, minutes);
}

题目来源

https://www.acwing.com/problem/content/1125/

算法提高课-图论-欧拉回路和欧拉路径-AcWing 1123. 铲雪车:披着欧拉回路外衣的小学数学题相关推荐

  1. 算法提高课-图论-有向图的强连通分量-AcWing 367. 学校网络:强连通分量、tarjan算法

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 第一问:通过tarjan算法求出强连通分量并且缩点后,统计入度为0的点的个数p即可. 第二问,至少加几条边才能使图变成强连通分量?这 ...

  2. 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1185. 单词游戏:判断有向图是否存在欧拉路径、并查集

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 把每个单词看成一条边!!!首字母到尾字母的一条边,最多共有26个点(26个小写的英文字母),然后问能否把所有边串起来. 其实,对欧拉 ...

  3. 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1124. 骑马修栅栏:欧拉路径、dfs

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 本题是无向图的欧拉路,要输出字典序最小的欧拉路. 如何输出字典序最小的路径? 从最小的点开始搜,这样得到的欧拉路是字典序最小的. 无 ...

  4. 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1184. 欧拉回路:有向图和无向图的欧拉回路

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 无向图欧拉回路:1)所有点的度都为偶数:2)所有边连通 有向图欧拉回路:1)所有点的入度等于出度:2)所有边连通 AC代码 #inc ...

  5. 算法提高课-图论-负环-AcWing 361. 观光奶牛:spfa判正环、负环、01分数规划、二分

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 题目要求ΣfiΣgi\frac{\Sigma{f_i}}{\Sigma{g_i}}Σgi​Σfi​​的最大值,这种问题称为01分数规 ...

  6. 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 差分约束系统 差分约束系统是一种特殊的N元一次不等式组.它包含N个变量X1,...,XnX_1,...,X_nX1​,...,Xn​ ...

  7. 算法提高课-图论-有向图的强连通分量-AcWing 1174. 受欢迎的牛:tarjan算法求强连通分量、tarjan算法板子、强连通图

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 强连通图:给定一张有向图.若对于图中任意两个结点x,y,既存在从x到y的路径,也存在从y到x的路径,则称该有向图是"强连通 ...

  8. 算法提高课-图论-单源最短路的综合应用-AcWing 342. 道路与航线:最短路dijkstra、拓扑排序 、综合题、好题

    题目分析 来源:acwing 分析: 道路:双向,边权非负, 航线:单向,边权可正可负,且无环. 根据题意,点可以分为很多团(连通块),团内部只有道路(道路是双向的,而且是连通的,所以不能存在航线,否 ...

  9. 算法提高课-图论-单源最短路的建图方式-AcWing 903. 昂贵的聘礼:建图巧妙、dijkstra、考虑等级

    题目分析 来源:acwing 由于终点是1号节点,建立虚拟节点S,如下建图(根据样例画图).S出发和每个点直连的边权代表直接买该物品花的金币数:而由S到1的任意一条通路,边权之和就是花费的金币数.所以 ...

最新文章

  1. 利用Github搭建自己的图床
  2. linux ubuntu R 无法安装rggobi包的原因及解决方案
  3. 浅谈JavaScript、ES5、ES6
  4. tensorflow学习笔记七----------卷积神经网络
  5. Struts2的标签概述
  6. WORD 如何在方框里打勾?
  7. 今天需要修复的bug
  8. ubuntu16.04中将自己的ubuntu做成镜像
  9. android studio选中全部,android - Android Studio风格维度已全部处理,未选中一项 - 堆栈内存溢出...
  10. 文件I/O(不带缓冲)之read函数
  11. 2022年微信权重号养号方法
  12. cad插入块_CAD图块全攻略:别羡慕我下班早,我的CAD软件会开挂!
  13. R语言基础编程技巧汇编 - 13
  14. Centos7 配置163邮箱
  15. 递归算法中的时间复杂度分析
  16. JAVA多线程使用场景和注意事项
  17. 搜狗输入法输入上下标
  18. 数据库课程设计——滴滴打车系统
  19. 学习笔记(01):遥感影像深度学习样本制作-计算机视觉工具制作样本
  20. 吉大c语言编程作业答案,吉林大学C语言习题

热门文章

  1. 运动电荷的电磁场(一)
  2. [散分] 眼见为实?_眼见为实
  3. 电脑游戏怎么转移新电脑,换新电脑如何迁移游戏
  4. android 仿微信demo————微信主界面实现
  5. RNA-seq流程学习笔记(18)- Heatmap图
  6. python豆瓣电影爬虫
  7. 游戏设计模式-观察者模式
  8. 解读小米模式:颠覆式创新者的背后
  9. python元祖封包_Python基础——解包与封包
  10. 我已经可以想象,疫情结束后全国男生会……