#S1027. 铲雪车2(Snow Clearing II)

铲雪车2(Snow Clearing II)

当前没有测试数据。

题目背景

随着白天越来越短夜晚越来越长,我们不得不考虑铲雪问题了。整个城市所有的道路都是双向多车道,因为城市预算的削减,整个城市只有1辆铲雪车。

铲雪车只能把它开过的地方的雪铲干净。与之前不同的是,双向多车道的道路只需走一次即可铲完两个方向的雪。铲雪车铲雪时前进速度为 20 km/h,对于已经铲过的道路,空驶速度为 50 km/h

现在的问题是:最少要花多少时间去铲掉所有道路上的雪并且返回出发点?


题目描述

给定铲雪车的停放坐标,以及城市中所有道路的起点和终点坐标。

  • 所有道路都是笔直的,且都是双向多车道
  • 铲雪车可以在任意交叉口、或任何街道的末尾任意转向,包括转U型弯
  • 每条道路只需铲一次(双向多车道,一次通行铲完)
  • 第一次经过某条道路:铲雪状态,速度 20 km/h
  • 重复经过已铲过的道路:空驶状态,速度 50 km/h
  • 铲雪车从起点出发,必须经过所有道路至少一次,最后返回出发点

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


输入格式

第一行:两个整数 x y,表示铲雪车的停放坐标
接下来最多 200 行:每行四个整数 x1 y1 x2 y2,表示一条街道的起点和终点坐标

所有坐标都是整数,单位为米。重复的坐标表示同一个交叉口。


输出格式

输出一行:铲掉所有街道上的雪并且返回出发点的最短时间,格式为 H:MM
(小时:分钟,分钟精确到整数,四舍五入)

样例

样例输入

0 0
0 0 10000 0
10000 0 10000 10000
10000 10000 0 10000
0 10000 0 0
0 0 5000 5000
10000 0 5000 5000
10000 10000 5000 5000
0 10000 5000 5000

样例输出

3:49

样例解释

8 条道路构成的图:

        D(0,10000) —— C(10000,10000)
            |  \      /  |
            |   \    /   |
            |    E(5000,5000)  |
            |   /    \   |
            |  /      \  |
        A(0,0) —— B(10000,0)