Command Network:单向通信网络最短总长度计算
经过长期持久的言论战争之后,军火之间的战争终于在littleken和KnuthOcean的王国之间爆发出来。KnuthOcean的部队突然猛烈的攻击使得littleken的指挥网络彻底失败。必须立即建立临时网络。littleken命令snoopy负责该项目。
随着情况研究到每一个细节,snoopy认为,最迫切的一点是使littleken的命令能够到达被破坏的网络中的每个断开的节点,并决定建立一个单向通信网络,网络节点分布在一个平面上。如果Littleken的命令能够直接从节点A传送到另一个节点B,则必须沿连接两个节点的直线段建立一条连线。但是由于是在战时,不能让所有的节点对之间建立连线。snoopy希望计划要求最短的电线总长度,以便可以尽快完成施工。
输入描述
输入包含多个测试用例,处理到文件结束。 每个测试用例格式如下:
- 第一行两个整数
N(N ≤ 100,节点数量)和M(M ≤ 10^4,允许建立的单向导线数量)。 - 接下来
N行,每行两个整数xi、yi,表示第i个节点的笛卡尔坐标(节点编号从1到N)。 - 接下来
M行,每行两个整数i和j,表示可以建立从节点i到节点j的单向导线。
其中Littleken的总部固定位于节点1。
输出描述
对于每个测试用例,输出一行结果:
- 若存在满足要求的通信网络,输出最短总长度,保留小数点后两位。
- 若不存在,输出
poor snoopy。
输入样例
4 6
0 6
4 6
0 0
7 20
1 2
1 3
2 3
3 4
3 1
3 2
4 3
0 0
1 0
0 1
1 2
1 3
4 1
2 3
输出样例
31.19
poor snoopy 本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析