A90641.补给

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

小蓝是一个直升飞机驾驶员,他负责给山区的 nn 个村庄运送物资。

每个月,他都要到每个村庄至少一次,可以多于一次,将村庄需要的物资运送过去。

每个村庄都正好有一个直升机场,每两个村庄之间的路程都正好是村庄之间的直线距离。

由于直升机的油箱大小有限,小蓝单次飞行的距离不能超过 DD。每个直升机场都有加油站,可以给直升机加满油。

每个月,小蓝都是从总部出发,给各个村庄运送完物资后回到总部。如果方便,小蓝中途也可以经过总部来加油。

总部位于编号为 11 的村庄。

请问,要完成一个月的任务,小蓝至少要飞行多长距离?

输入格式

输入的第一行包含两个整数 nnDD,分别表示村庄的数量和单次飞行的距离。

接下来 nn 行描述村庄的位置,其中第 ii 行两个整数 xix_iyiy_i 分别表示编号为 ii 的村庄的坐标。村庄 ii 和村庄 jj 之间的距离为 (xixj)2+(yiyj)2\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}

输出格式

输出一行,包含一个实数,四舍五入保留正好 22 位小数,表示答案。

输入输出样例

  • 输入#1

    4 6
    1 1
    4 5
    8 5
    11 1

    输出#1

    28.00

说明/提示

对于所有数据,保证,1n20,1xi,yi104,1D1051\le n\le20,1\le x_i,y_i\le10^4,1\le D\le10^5

首页