题目地址:

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

随着白天越来越短夜晚越来越长,我们不得不考虑铲雪问题了。整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减,整个城市只有111辆铲雪车。铲雪车只能把它开过的地方(车道)的雪铲干净,无论哪儿有雪,铲雪车都得从停放的地方出发,游历整个城市的街道。现在的问题是:最少要花多少时间去铲掉所有道路上的雪呢?

输入格式:
输入数据的第111行表示铲雪车的停放坐标(x,y)(x,y)(x,y),x,yx,yx,y为整数,单位为米。下面最多有400040004000行,每行给出了一条街道的起点坐标和终点坐标,坐标均为整数,所有街道都是笔直的,且都是双向车道。铲雪车可以在任意交叉口、或任何街道的末尾任意转向,包括转UUU型弯。铲雪车铲雪时前进速度为202020千米/时,不铲雪时前进速度为505050千米/时。保证:铲雪车从起点一定可以到达任何街道。

输出格式:
输出铲掉所有街道上的雪并且返回出发点的最短时间,精确到分钟,四舍五入到整数。输出格式为”hours:minutes”,minutes不足两位数时需要补前导零。

数据范围:
−106≤x,y≤106−10^6≤x,y≤10^6−106≤x,y≤106
所有位置坐标绝对值不超过10610^6106。

因为每条路都是双向的,可以看成是个有向图,并且每条边都有对应的反向边,于是每个顶点的入度必然等于出度,所以存在欧拉回路(题目有提图是连通的)。那么最少花费时间就是所有边(包括去边和回边)的总长度除以速度。代码如下:

#include <iostream>
#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, dy = y1 - y2;sum += sqrt(dx * dx + dy * dy);}// 这样要乘以2int min = round(sum * 2 / 1000 / 20 * 60);int hour = min / 60;min %= 60;printf("%d:%02d\n", hour, min);return 0;
}

时间复杂度O(E)O(E)O(E),空间O(1)O(1)O(1)。

【ACWing】1123. 铲雪车相关推荐

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

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

  2. 算法——AcWing算法提高课中代码和题解

    文章目录 第一章 动态规划 (完成情况:64/68) 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP 第二章 搜索 ...

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

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

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

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

  5. AcWing算法提高课 Level-3 第三章 图论

    单源最短路的建图方式 1129. 热浪 思路 :单源最短路算法中除了bellmanford一般不用以外,普D为O(n2)O(n^2)O(n2),优D为O(m∗logn)O(m*logn)O(m∗log ...

  6. AcWing-算法提高课【合集】

    算法提高 动态规划 数字三角形 1015. 摘花生 1018.最低通行费 1027. 方格取数 最长上升子序列LIS 1017. 怪盗基德的滑翔翼 1014.登山 482.合唱队形 1012. 友好城 ...

  7. PAT甲级刷题记录-(AcWing)-(Day06树 8题)

    PAT甲级刷题记录-(AcWing)-(Day06树 8题) 课程来源AcWing 其中AcWing中的题目为翻译好的中文题目 今日刷题列表 1110 Complete Binary Tree 111 ...

  8. AcWing 734. 能量石 (01背包)+(贪心 - 领项交换)

    AcWing 734. 能量石 #include<cstdio> #include<algorithm> #include<cstring> #include< ...

  9. 解题报告:AcWing 352. 闇の連鎖(树上差分、方案统计)

    https://www.acwing.com/problem/content/354/ 在没有附加边的情况下,我们发现这是一颗树,那么再添加条附加边(x,y)后,会造成(x,y)之间产生一个环 如果我 ...

  10. 1123: 零起点学算法30——参加程序设计竞赛

    1123: 零起点学算法30--参加程序设计竞赛 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 3 ...

最新文章

  1. performance improvement in Distribution chain scenario
  2. android数字滚动动画,Android超简单实现金钱滚动效果
  3. 第八篇 android 内容提供组件机制--MVC模式
  4. python整数池_对Python中小整数对象池和大整数对象池的使用详解
  5. Win10 中将网页转换成pdf的简便方法
  6. Vue调试工具 vue-devtools的安装
  7. 【转】 Oracle中分区表的使用
  8. 设置webstorm实时预览看这一篇就够了,5分钟解决!!
  9. 中断占用CPU的时间分析
  10. 在ASP.NET中清除页面状态
  11. [Bzoj1911][Apio2010]特别行动队(斜率优化)
  12. 脚本录制软件python 按键精灵 tc_Keymouse Go鼠标键盘脚本录制下载|开源版按键精灵软件_最火软件站...
  13. 亲测可用|奥维互动地图加载谷歌地图等图源的方法
  14. 【游戏测试】游戏兼容性测试(通用方案)
  15. 怎样启动本地mysql服务_启动本地mysql服务
  16. Window 错误代码大全
  17. 什么是 cisco ios
  18. 幂指函数求导公式——备忘
  19. 上传图片,使用很简单的办法上传图片
  20. python B站UP主所有视频封面下载

热门文章

  1. 不同坐标系下角速度_惯性技术常用坐标系
  2. 急需你的意见:句子迷图文日签投票
  3. 计算机信息检索 02139
  4. Python登录豆瓣并爬取影评
  5. 登录邮恰显示服务器登录失败,邮洽邮箱收不到邮件是什么原因?
  6. Android系统关于音量相关的控制-初识
  7. html5css重复径向渐变,CSS3怎么实现重复径向渐变效果
  8. 《小岛经济学》读书笔记
  9. 丑小鸭课件软件测试,丑小鸭免费课件
  10. 计算机论文指数,我国计算机领域学术论文引用中的马太效应——以《计算机学报》和《计算机研究与发展》为例...