loj#P6757. 圆

题目描述

有两个圆,圆心均为原点,圆 A 的半径为 aa,圆 B 的半径为 bb

你希望在圆 B 中随机选取两个点(任意两点被随机到的概率都相等,即每个满足 x2+y2b2x^2+y^2\le b^2(x,y)(x,y) 都等概率选取),并在不经过圆 A 圆周的情况下从一个点到达另一个点,计算这样经过的路径长度的下确界。如果这样的路径不存在我们规定这个值为 00

你需要输出这个值的期望值,保证相对或绝对误差不超过 10310410^{-3}-10^{-4}。实际上,由于标程存在不超过 10410^{-4} 的相对或绝对误差,你的答案会和标程的输出以 10310^{-3} 的相对或绝对误差进行对比,因此如果你的输出和真实值相对或绝对误差在 (103104,103](10^{-3}-10^{-4},10^{-3}] 也有可能通过(但不保证)。

本题有多组数据。

输入格式

第一行一个正整数 TT,表示数据组数。

接下来 TT 行每行两个正整数 a,ba,b,表示两圆的半径。

输出格式

TT 行,每行输出最小距离的期望值,所需的精度参见题面。

3
123 456
456 123
233 333
373.30
111.37
156.84

数据范围与提示

对于所有数据,1T1051\le T\le 10^51a,b1061\le a,b\le 10^6

Subtask 1(20pts):T50T\le 50bab\le a

Subtask 2(10pts):T50T\le 50a=1a=1b105b\ge 10^5

Subtask 3(20pts):T2T\le 2

Subtask 4(20pts):T50T\le 50

Subtask 5(30pts):无特殊限制。