#P14110. [ZJCPC 2017] Final Defense Line

[ZJCPC 2017] Final Defense Line

Description

在平面上有一个圆,这个圆的圆心坐标和半径都是未知的。

Chiaki 发现了平面上的三个不同的点 AABBCC。她知道每个点到这个圆的圆周的最短距离。

Chiaki 希望根据上述信息求出满足条件的最小的圆。

注意,一般来说,半径为无穷大的圆就是一条直线。但在本题中,直线不被认为是圆。

Input Format

有多组测试数据。输入的第一行为一个整数 TT1T2×1051 \le T \le 2 \times 10^5),表示测试数据的组数。对于每组测试数据:

第一行包含三个整数 xax_ayay_adad_a100xa100,ya=0,1da100-100 \le x_a \le 100, y_a = 0, 1 \le d_a \le 100),表示点 AA 的坐标及其到圆周的最短距离。

第二行包含三个整数 xbx_byby_bdbd_b100xb100,yb=0,1db100-100 \le x_b \le 100, y_b = 0, 1 \le d_b \le 100),表示点 BB 的坐标及其到圆周的最短距离。

第三行包含三个整数 xcx_cycy_cdcd_c100xc,yc,dc100,dc0-100 \le x_c, y_c, d_c \le 100, d_c \ne 0),表示点 CC 的坐标及其到圆周的最短距离。

当距离等于 00 时,点在圆周上。当距离大于 00 时,点在圆内。当距离小于 00 时,点在圆外,且最短距离的绝对值就是距离。

保证最小可能的圆半径不超过 10410^4

Output Format

对于每组测试数据,如果存在无穷多个圆,输出一行 1-1。如果无解,输出一行 00。否则,输出一个整数 mm 和一个实数 rr,中间用空格分隔,表示满足条件的圆的个数以及最小圆半径 rr。如果你的答案相对误差不超过 10610^{-6},即可被接受。

2
0 0 1
3 0 2
10 2 2
0 0 1
3 0 2
10 2 -2
2 10.327329213469
2 5.341730785440

Hint

下图展示了样例情况。

:::align{center} :::

由 ChatGPT 5 翻译