#5132. [ABC274E] Booster

内存限制:256 MiB 时间限制:500 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: Laffey

题目描述

在一个二维平面上有 N 个城镇和 M 个宝箱,第 i 个城镇的坐标为 (X_i, Y_i) ,第 i 个宝箱的坐标为 (P_i, Q_i)

现在高桥君要从原点出发,访问所有的 N 个城镇,然后再回到原点。

高桥君可以在中途走到某个宝箱并吞下其中仅有的 1 个能量球,这样他的速度就会翻倍。

高桥君初始移动速度为 1 ,现在请你求出他旅途所用时间的最小值。

输入格式

第一行为两个正整数 N M

接下来 N 行,每行两个整数,第 i 行为 X_i, Y_i

接下来 M 行,每行两个整数,第 i 行为 P_i, Q_i

所有输入数据的含义如题目描述所示。

输出格式

输出仅有一行一个实数,表示高桥君所用的最短时间。 你的输出只要和标准答案相差不超过 10^{-6} 即视作正确。

样例

样例输入 #1

2 1
1 1
0 1
1 0

样例输出 #1

2.5000000000

样例输入 #2

2 1
1 1
0 1
100 0

样例输出 #2

3.4142135624

样例输入 #3

1 2
4 4
1 0
0 1

样例输出 #3

4.3713203436

数据范围与提示

1 \leq N \leq 12

0 \leq M \leq 5

-10^9 \leq X_i, Y_i, P_i, Q_i \leq 10^9

所有坐标均不重复(至少可以视作不重复,Laffey 也不知道他造数据的时候会不会有一组很巧的数据),且和原点不相同。