SP3002 ELECTRO - Electrophoretic

题目描述

科学家 Frank 专注于电化学研究,并发明了一种独特的线形电极,称为 F 电极。当 F 电极被激活时,会在其端点形成的垂直边界上及边界之间产生特殊的电位。位于电位区域内的带电粒子会沿平行于电位边界的方向运动(即垂直于 F 电极的方向),形成两种可能的移动方向,不仅可以朝向 F 电极,也可以背离它。此外,还可以通过 F 电极让粒子通过。与普通电极不同,F 电极对位于潜在区域内的粒子拥有无限远的影响力。不过,两个不同的 F 电极不能同时激活,因为它们的电位会产生强烈冲突。 通过控制 F 电极,我们能够任意移动粒子。然而,由于电位区域的限制,有时候我们无法将粒子引导到预期位置。为评估 F 电极的实用性,Frank 要求你编��一个程序,计算在给定 F 电极集合的情况下,从粒子的初始位置到目标位置的最短距离。

输入格式

输入由多组测试用例组成。每组测试用例的第一行包含一个整数 $N$($1 \le N \le 100$),表示 F 电极的数量。第二行包含四个整数 $x_s, y_s, x_t, y_t$,表示粒子的初始位置 $(x_s, y_s)$ 和目标位置 $(x_t, y_t)$。接下来的 $N$ 行中,每行包含四个整数 $F_{xs}, F_{ys}, F_{xt}, F_{yt}$,表示一个 F 电极的两个端点 $(F_{xs}, F_{ys})$ 和 $(F_{xt}, F_{yt})$。所有坐标值都在 $0$ 到 $100$ 之间(包括 $0$ 和 $100$)。 输入以 $N = 0$ 结束。

输出格式

对于每个测试用例,输出测试用例编号,后跟从初始位置到目标位置的最短距离。如果无法将粒子引导到目标位置,则输出“Impossible”(不带引号)。结果需要保留五位小数。 **本翻译由 AI 自动生成**