QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#52. 残骸

Statistics

有两个圆,圆心均位于原点。圆 A 的半径为 $a$,圆 B 的半径为 $b$。

在圆 B 内均匀随机选取两个点(即满足 $x^2+y^2 \le b^2$ 的每个点 $(x, y)$ 被选中的概率相等)。你需要找到一条从其中一个点到另一个点的路径,且该路径不能穿过圆 A 的圆周。计算该路径长度的下确界(最短可能长度)。如果不存在这样的路径,则该值定义为 $0$。

你需要输出该路径长度的期望值

精度要求

你的答案必须满足相对误差或绝对误差不超过 $10^{-3}$ 到 $10^{-4}$。

具体而言,由于标准解法(参考解法)的相对误差或绝对误差不超过 $10^{-4}$,你的答案将与标准解法的输出进行比较,容差为 $10^{-3}$。因此,如果你的输出与真实值之间的相对误差或绝对误差落在 $(10^{-3}-10^{-4}, 10^{-3}]$ 范围内,你的解法有可能(但不保证)被接受。

输入格式

单个测试文件中包含多个测试用例。

输入的第一行包含一个整数 $T$,表示测试用例的数量。对于每个测试用例,输入包含一行,包含两个整数 $a$ 和 $b$。

输出格式

对于每个测试用例,输出一行,包含一个实数,表示答案。

样例

样例输入 1

3
123 456
456 123
233 333

样例输出 1

373.30
111.37
156.84

子任务

对于所有测试用例,$1 \le T \le 10^5$,$1 \le a, b \le 10^6$。

  • 子任务 1(20 分):$T \le 50$,$b \le a$
  • 子任务 2(10 分):$T \le 50$,$a = 1$,$b \ge 10^5$
  • 子任务 3(20 分):$T \le 2$
  • 子任务 4(20 分):$T \le 50$
  • 子任务 5(30 分):无额外限制。

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.