Universal Cup Judging System

Universal Cup

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Difficulty: [show]
Statistics

有一个著名的数学事实:如果你将公园的地图完全放置在公园内部,那么地图上必然存在一个点,其位置与它所代表的公园中的点重合。

Mio 非常喜欢这个事实,于是她将一张她最喜欢的公园的地图完全放置在公园内。公园 $P$ 可以表示为一个矩形。地图只是公园的一个较小(或相等)的版本,印在纸上。地图与原始矩形相似。地图上的每个点通过相似变换对应公园中的一个点。

我们可以正式定义地图:地图是一个矩形 $M$(大小较小或相等),连同一个正实数 $r$ 以及一个双射函数 $f : M \to P$,满足: * 对于任意一对不同的点 $a, b \in M$,满足 $|f(a) - f(b)| / |a - b| = r$。

$|x - y|$ 表示点 $x$ 和 $y$ 之间的欧几里得距离。

和许多游戏一样,Mio 可以利用地图进行传送。具体来说,当 Mio 位于地图上的某一点 $x$(包括边界)时,她可以传送至公园中对应的点 $f(x)$。她也可以选择不传送。反之亦然:当她位于公园中的某一点 $y$(包括边界)时,她可以传送至地图上代表她当前位置的点 $f^{-1}(y)$。她同样可以选择不传送。

Mio 最多可以传送 $n$ 次(最少 0 次)。每次传送需要 $k$ 秒。Mio 也可以以每秒 1 个单位的速度步行。

给定两个点 $s$ 和 $t$,求 Mio 从 $s$ 到达 $t$ 所需的最短时间。

每次传送可以是任意方向(从地图到公园,或从公园到地图)。地图可能被倒置放置。由于地图位于公园内部,Mio 有可能同时处于地图和公园中。在这种情况下,她可以选择向任意方向传送。

例如,在下图中,公园是 $ABCD$,地图是 $A'B'C'D'$。当 Mio 在地图内部时,她同时处于地图和公园中。当她位于点 $D'$ 时,她可以从地图传送到公园(到达 $D$),也可以从公园传送到地图(到达 $D$)。

例如,在下图中,公园是 ABCD,地图是 A'B'C'D'。当 Mio 在地图内部时,她同时处于地图和公园中。当她位于点 D' 时,她可以从地图传送到公园(到达 D),也可以从公园传送到地图(到达 D)。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 100$),表示测试用例的数量。

对于每个测试用例,第一行包含表示公园的矩形的 4 个角。这些角按顺时针或逆时针顺序给出。保证这 4 个角互不相同。

第二行包含表示地图的矩形的 4 个角。地图的第 $i$ 个角对应公园的第 $i$ 个角,对于所有 $1 \le i \le 4$。注意,你可以通过角的顺序判断地图是否被倒置。这些角按顺时针或逆时针顺序给出。保证地图位于公园内部。(地图的边界可能在 1 个或多个点上与公园的边界相交。)保证地图是有效的,即存在一个正实数和一个从地图到公园的双射函数,满足上述定义。

第三行包含两个点 $s$ 和 $t$。保证 $s$ 和 $t$ 位于公园内部(或边界上)。

第四行包含两个整数 $k, n$ ($0 \le k \le 2 \times 10^6, 0 \le n \le 100$),分别表示每次传送所需的时间和最大传送次数。

输入中的每个点均由一对整数表示,其绝对值不超过 $2 \times 10^6$。整数之间由单个空格分隔。

输出格式

对于每个测试用例,输出一行一个数字表示答案。如果你的答案的绝对误差或相对误差不超过 $10^{-9}$,则被视为正确。

样例

输入格式 1

2
0 0 0 2 4 2 4 0
0 0 0 1 2 1 2 0
2 1 4 2
1 1
0 0 0 3 6 3 6 0
0 1 1 0 3 2 2 3
0 0 4 2
0 3

输出格式 1

1.0000000000
1.2272623352

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.