C++编程求解平面连通图的两点最短路径
类型:程序题

题目描述

平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线,若有连线则表示两点间有通路,通路距离为两点的直线距离。要求找出从源点到目标点的最短路径。

  • 时间限制:1000ms
  • 内存限制:131072KB

输入格式

共n+m+3行:

  1. 第一行为整数n
  2. 第2到n+1行,每行两个整数x和y,描述一个点的坐标
  3. 第n+2行为整数m,表示图中连线的个数
  4. 此后的m行,每行两个整数i和j,表示第i个点和第j个点之间有连线
  5. 最后一行两个整数s和t,分别表示源点和目标点(点编号从1开始)

输出格式

仅一行,一个实数(保留两位小数),表示从s到t的最短路径长度。

样例输入

5
0 0
2 0
2 2
0 2
3 1
5
1 2
1 3
1 4
2 5
3 5
1 5

样例输出

3.41
代码编辑器
测试用例输入
{{resultStatus.text}}