密谋 (plan.cpp\c\pas)

密谋 (plan.cpp\c\pas)

【问题描述】
丁国建造了n座激光塔。
“当若干座激光塔相连并形成环形线路,你就能获得上神的力量。”这是丁国国王从大魔王那得知的消息。
第二天,丁国国王便下令修建m条连接激光塔的线路。
你作为甲国派来的间谍,无意间听到了这个消息,当即决定破坏这场密谋。每座激光塔的坐标为(xi,yi),正在修建的线路(ui,vi)表示连接编号为ui和vi的激光塔,破坏该条线路的代价为两座激光塔的直线距离。求破坏这场密谋的最小代价。

【输入格式】
第一行两个整数 n, m
接下来 n 行, 每行两个整数 xi, yi, 代表点 i 的坐标
接下来 m 行, 每行两个整数 ui, vi, 代表一条边 (ui, vi)

【输出格式】
输出一个实数代表答案, 当答案与标准答案之差的绝对值不超过 10^-4 时视为正确。

【输入输出样例】
plan1.in

3 3
0 0
0 1
1 0
1 2
2 3
1 3
plan1.out
1.000000000
plan2.in

8 8
0 0
3 0
3 3
0 3
1 1
1 2
2 2
2 1
1 2
2 3
3 4
4 1
5 6
6 7
7 8
8 5
plan2.out
4.000000000

【数据范围】
对于前20%的数据:n,m ≤ 20
对于前50%的数据:n,m ≤ 1000
对于100%的数据:1 ≤ n ≤ 10000, 1 ≤ m ≤ 50000, |xi|,|yi| ≤ 10000 , ui != vi,不存在两点重合的情况.

信息

难度
10
分类
(无)
标签
递交数
27
已通过
0
通过率
0%
被复制
1
上传者