QOJ.ac

QOJ

حد الوقت: 3.0 s حد الذاكرة: 2048 MB مجموع النقاط: 100

#16038. 粒子交换

الإحصائيات

Feynmansson 教授的研究团队正在准备一项全新的、具有开创性的粒子物理学实验。在一个特制的平板上,他们准备了一个由若干节点和连接它们的导线(导线在平板上可能会相互交叉)组成的系统。在实验开始时,一对粒子会出现在系统的两个不同节点上:一个普通的物质粒子出现在节点 $A$,另一个对应的反物质粒子出现在节点 $B$。实验的目标是交换这两个粒子的位置,即最终让普通粒子位于节点 $B$,反物质粒子位于节点 $A$。这一目标需要通过一系列移动来达成,每次移动包含将其中一个粒子从其当前位置通过导线传输到相邻的节点。

图片来自 flickr,遵循知识共享许可协议,作者为 Tom Fassbender

正如你可能从科普电视节目中记得的那样,玩弄物质和反物质通常是不太安全的。特别是,如果物质和反物质粒子靠得太近,它们会发生湮灭,从而炸毁整个实验。因此,研究团队希望以这样一种方式交换粒子的位置:在实验过程中,它们之间的最小欧几里得距离尽可能大。这个最小距离被称为实验的安全性(safeness)。为简单起见,我们假设当粒子在导线中传输时,我们不考虑它的位置;换句话说,实验中唯一有风险的时刻是两个粒子都位于某些节点上的时候。你可以假设总是可以通过具有正安全性的方式来交换粒子,也就是说,在交换过程中两个粒子永远不会位于同一个节点。

另一个难点是,物理学家们无法精确预测粒子会出现在哪里。他们列出了一份潜在的初始位置对 $(A, B)$ 的清单,对于其中的每一对,他们都想知道交换粒子的最大可能安全性。请帮助他们解决这个问题。

输入格式

输入的第一行包含一个整数 $n$ ($1 \le n \le 500$),表示系统中的节点数量。

接下来 $n$ 行,每行包含两个整数 $x, y$ ($-10\,000 \le x, y \le 10\,000$),表示第 $i$ 个节点在平板上的坐标。没有两个节点位于同一个点。

下一行包含一个整数 $m$ ($0 \le m \le 2\,000$),表示系统中的导线数量。

接下来 $m$ 行,每行包含两个整数 $a, b$ ($1 \le a, b \le n, a \ne b$),表示由导线连接的节点编号。你可以假设没有两个节点被多于一根导线连接,且没有导线连接节点自身。

下一行包含一个整数 $\ell$ ($1 \le \ell \le \binom{n}{2}$),表示物理学家准备的潜在初始位置列表的长度。

接下来 $\ell$ 行,每行包含两个整数 $a, b$ ($1 \le a, b \le n, a \ne b$),分别表示初始节点 $A$ 和 $B$ 的编号。

输出格式

输出恰好 $\ell$ 行。第 $i$ 行应包含一个浮点数,表示物理学家列出的第 $i$ 对初始位置的最大可能安全性。与真实值的绝对或相对误差在 $10^{-6}$ 以内将被接受。

样例

输入样例 1

6
0 0
-1 3
-1 0
-1 -3
3 0
0 1
6
1 2
2 3
3 4
4 1
1 5
5 6
5
6 5
2 4
2 6
3 6
4 6

输出样例 1

1.00000000
3.16227766
2.23606798
1.41421356
3.16227766

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.