2157: 点云的最短路径

内存限制:512 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:1 通过:1

题目描述

平面上有若干个点,这些点被分为 N 组点云。
点云表示点的集合,每组点云至少包含三个点。
每个点云的凸包面积为正,并且任意两个点云的凸包相交为空集。
质点初始位于平面上 S, 需要前往点 T。
质点不可以进入点云凸包的内部,但是能在点云边界上移动。
S, T 均不处于任何点云边界和内部。
请求出质点的最短路径。
下图为样例的最优解:


输入格式

第一行输入五个整数,分别为N, Sx, Sy, Tx, Ty,表示点云组数N、S坐标(Sx, Sy)、T坐标(Tx, Ty)。
接下来N行,每行首先输入整数 ci,表示第 i 组点云包含 ci 个点。
然后输入 2*ci 个整数,每两个为一组,表示一个点的坐标。
所有点的坐标绝对值不超过 2000。
1 ≤ N ≤ 200, Sum(ci) ≤ 500。

输出格式

输出一个数字表示答案,输出结果与标准答案绝对误差或者相对误差不超过 10-4 被视为正确。

输入样例 复制

1 0 0 10 0
3 4 2 7 3 5 -4

输出样例 复制

11.8770543023

数据范围与提示

来源:2022 CTU Open