#P10778. [SGU414]Orthogonal Circles
[SGU414]Orthogonal Circles
题目描述
若两个圆相交,并且在任意一个交点处,两圆的切线互相垂直,则称这两个圆正交。
现在给定平面上的 个圆,请你找出一个与所有给定圆都正交的圆。
注意:输入中的圆允许完全重合。
输入格式
第一行一个整数 ,表示给定圆的个数。
接下来 行,每行三个整数 ,表示第 个圆的圆心坐标为 ,半径为 。
输出格式
- 如果恰好存在一个与所有给定圆都正交的圆,输出该圆的圆心坐标和半径:
x y r
其中 为实数。
若你的答案与标准答案的绝对误差或相对误差不超过 ,则视为正确。
- 如果不存在这样的圆,输出:
-1
- 如果满足条件的圆不止一个,输出:
-2
样例输入
3
0 0 5
7 16 10
10 0 5
样例输出
5.0 5.0 5.0
样例说明
原题在样例后附有如下示意图:

上图对应样例中的三个已知圆,以及唯一满足条件的正交圆。
说明
本题的判定结果有三种:
- 唯一解:输出该圆的圆心与半径;
- 无解:输出
-1; - 多解:输出
-2。
实现时需要特别注意重合圆、退化约束、数值精度以及多解判定。