QOJ.ac

QOJ

満点: 100

#11656. 神庙

統計

一群考古学家刚刚开始对一座古老的拜特兰(Bytelandian)神庙进行研究。他们准备先照亮工作区域。这座神庙由许多矗立在宽阔平坦地面上的高大圆柱组成。考古学家部署了一个电源,并在场地周围放置了数十盏灯。他们希望用尽可能短的导线将每盏灯与电源连接起来。请帮助他们确定每根导线的长度。

为了简化任务,你可以假设:

  • 没有圆柱与其他圆柱接触;
  • 导线是无限细的;它必须铺设在地面上,并且可以与圆柱接触;
  • 电源和灯可以视为几何点,且它们从不与圆柱接触。

编写一个程序:

  • 读取神庙的描述以及灯和电源的位置;
  • 对于每盏灯,确定将其连接到电源所需的最短导线长度;
  • 将结果写入标准输出。

输入格式

标准输入的第一行包含一个整数 $n$ ($1 \le n \le 300$),表示圆柱的数量。接下来的 $n$ 行包含圆柱的描述。每个描述由三个整数 $x, y, r$ ($1 \le r \le 5\,000, r \le x, y \le 10\,000 - r$) 组成,分别表示圆柱中心坐标 $(x, y)$ 及其半径 $r$。下一行包含一个整数 $m$ ($1 \le m \le 200$),表示灯的数量。在接下来的 $m$ 行中,每行有两个整数 $x_i, y_i$ ($0 \le x_i, y_i \le 10\,000$),表示灯的坐标。输入的最后一行包含两个整数 $x_a, y_a$ ($0 \le x_a, y_a \le 10\,000$),表示电源的坐标。

输出格式

你的程序应输出 $m$ 行,每行对应输入中描述的一盏灯。每行应包含将该灯连接到电源所需的最短导线长度。如果长度以小数形式书写,则小数点后不能超过 6 位数字(正确格式的长度示例:"0", "0.0", "10.234", "0012", "1.000000",错误格式的长度示例:"-0", "+1", "0x1F", "10e-3", ".5", "10.1234567", "10.")。

样例

输入 1

2
3 2 2
8 4 1
2
9 3
9 5
0 3

输出 1

9.278662
9.273203

またはファイルを一つずつアップロード:

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.