题目

随着白天越来越短夜晚越来越长,我们不得不考虑铲雪问题了。

整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减,整个城市只有 1 辆铲雪车。

铲雪车只能把它开过的地方(车道)的雪铲干净,无论哪儿有雪,铲雪车都得从停放的地方出发,游历整个城市的街道。

现在的问题是:最少要花多少时间去铲掉所有道路上的雪呢?

输入格式
输入数据的第 1 行表示铲雪车的停放坐标 (x,y),x,y 为整数,单位为米。

下面最多有4000行,每行给出了一条街道的起点坐标和终点坐标,坐标均为整数,所有街道都是笔直的,且都是双向车道。

铲雪车可以在任意交叉口、或任何街道的末尾任意转向,包括转 U 型弯。

铲雪车铲雪时前进速度为 20 千米/时,不铲雪时前进速度为 50 千米/时。

保证:铲雪车从起点一定可以到达任何街道。

输出格式
输出铲掉所有街道上的雪并且返回出发点的最短时间,精确到分钟,四舍五入到整数。

输出格式为”hours:minutes”,minutes不足两位数时需要补前导零。
具体格式参照样例。

数据范围
−106≤x,y≤106
所有位置坐标绝对值不超过 106。

输入样例:
0 0
0 0 10000 10000
5000 -10000 5000 10000
5000 10000 10000 10000
输出样例:
3:55

思路

  • 题目里每一个节点都至少有一条无向边,那么每一个节点的入度和出度都是一样大的,并且连通,那么这个图肯定存在欧拉回路,那么只要每一个边只过一遍就是答案了

代码

#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>using namespace std;int main()
{double x1, y1, x2, y2;cin >> x1 >> y1;double sum = 0;while (cin >> x1 >> y1 >> x2 >> y2){double dx = x1 - x2;double dy = y1 - y2;sum += sqrt(dx * dx + dy * dy) * 2;}int minutes = round(sum / 1000 / 20 * 60);int hours = minutes / 60;minutes %= 60;printf("%d:%02d\n", hours, minutes);return 0;
}

Acwing1123. 铲雪车(欧拉回路)相关推荐

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

    文章目录 题目解答 无向图的一笔画 有向图的一笔画 题目来源 题目解答 来源:acwing 分析: 对于一个给定的图,怎样判断是否存在着一个恰好包含了所有的边,并且没有重复的路径?这就是一笔画问题.用 ...

  2. 【图论专题】欧拉路径和欧拉回路

    A.AcWing 1123. 铲雪车(欧拉路的简单思想) 我们将这个图看成有向图,对于每输入一组数据加两条有向边,需要每条边都至少走一遍 我们先回想一下存在有向图的欧拉路径的充分必要条件 所有点的入度 ...

  3. 信息学奥赛一本通 1374:铲雪车(snow)

    [题目链接] ybt 1374:铲雪车(snow) 洛谷 UVA10203 Snow Clearing 注:原题输入要求更复杂,本文代码无法通过. [题目考点] 1. 图论:欧拉回路 2. 两点间距离 ...

  4. 算法提高课——3.10 欧拉路径和欧拉回路

    欧拉路径和欧拉回路 哥尼斯堡七桥问题 以下内容摘自<信息学奥赛一本通·提高篇>. 欧拉回路问题是图论中最古老的问题之一.它诞生于18世纪的欧洲古城哥尼斯堡,普瑞格尔河流经这座城市,人们在两 ...

  5. 骑马修栅栏(fence) 、铲雪车(snow)

    问题 K: 骑马修栅栏(fence) 时间限制: 1 Sec  内存限制: 128 MB 题目描述 农民John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其 ...

  6. [模板][持续更新]欧拉回路与欧拉路径浅析

    Luogu P2731 骑马修栅栏 Riding the Fences 题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与 ...

  7. uoj 117 欧拉回路

    1.判断是否为欧拉存在欧拉回路---裸的判断 欧拉回路就是看一笔能不能把途中所有的边跑完没得重复 对于无向边----建立双向边判断每个点的入度是否为2的倍数   1.1 对于有向边---建立单向边判断 ...

  8. 图论--欧拉路,欧拉回路(小结)

    在题目中在慢慢细说概念 1.HDU - 3018 Ant Trip 题目大意:又N个村庄,M条道路.问须要走几次才干将全部的路遍历 解题思路:这题问的是有关欧拉路的判定 欧拉路就是每条边仅仅能走一次, ...

  9. hdu 1878 欧拉回路

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

最新文章

  1. 错误:AttributeError: module 'enum' has no attribute 'IntFlag'
  2. 滴滴开源的分布式id生成系统
  3. 的写法_横、竖的写法
  4. 2017年度最值得读的AI论文评选 | 大张旗鼓送福利
  5. 叮叮叮~~~~网络面试题(一)来了☺
  6. 今日恐慌与贪婪指数为77 贪婪程度有所上升
  7. JPA的双向一对一关联实现示例
  8. Linux和Windows下使用指定的JDK运行jar包
  9. 图:活动现场双屏管理系统V3-多线程抽奖版软件,完美升级收工!历时3个月,艰辛坎坷...
  10. 如何下载百度文库文章
  11. three.js 05-06 之 CylinderGeometry 几何体
  12. android 链接打开app,Android 实现浏览器打开app
  13. 实战一个项目后,谈谈 Rust 语言的优点和缺点
  14. Cocos2dx基础手册
  15. js URLEncode函数
  16. 东北大学软件项目管理与过程改进复习提纲(2020)——第七章《项目成本管理》
  17. 基于51单片机的指纹解锁自动开门
  18. 工作两周年记------今晚和三个兄弟一起痛快地喝了一次, 在《祝你一路顺风》的旋律中!
  19. 腾讯技术分享:微服务接口设计原则
  20. 计算机考研难度2017,2017大专生考研难度分析

热门文章

  1. 【转载】 有道笔记-打卡50件事
  2. 孩子学python_【二孩家庭要注意什么】二孩家庭要怎么教育_二孩家庭的孩子最好间隔几岁 - 妈妈网百科...
  3. java暗黑再临-战神之怒_暗黑再临战神之怒
  4. 大破才能大立?数字化转型助你说不!影子、柔性组织的决策与效率提升
  5. 推荐一些IEDA,Eclipse十分好用的插件
  6. mit scheme常用命令
  7. php str splice,PHP array_splice()函数使用方法
  8. python爬取四川建设行业数据共享平台
  9. class file has wrong version 55.0, should be 52.0
  10. 项目需求分析(那周余嘉熊掌将得队)