CF887E Little Brother
题目描述
Masha 的弟弟在纸上画了两个点。之后,他又画了一些圆,并把纸交给了姐姐。
Masha 刚刚上完几何课,所以她立刻注意到了弟弟的画中一些有趣的事实。
首先,通过弟弟画的两个点的直线不会与任何一个圆相交或相切。
并且,任意两圆不会相交或相切,也不存在一对圆的位置关系是一个圆在另一个圆内部。
此外,对于每一个圆,Masha 都画了一个面积最小且边平行于坐标轴的正方形,使该圆被包含在正方形之内,并注意到没有任意两正方形相交或相切,也不存在一对正方形的位置关系是一个正方形在另一个正方形内部。
现在 Masha 想画一个半径尽可能小的圆,使其经过弟弟画的那两个点,并且不与任何已有的圆相交,但这些圆可以与 Masha 画的圆相切或者被包含在 Masha 画的圆的内部。
保证答案不会超过 $10^{12}$。此性质对于 hack 也成立。
输入格式
第一行包含四个整数 $x_1$、$y_1$、$x_2$、$y_2$($-10^{5} \le x_1, y_1, x_2, y_2 \le 10^{5}$),分别表示弟弟画的两个点的坐标,第一个点为 $(x_1, y_1)$,第二个点为 $(x_2, y_2)$。这两个点不同。
第二行包含一个整数 $n$($1 \le n \le 10^5$),表示弟弟画的圆的数量。
接下来的 $n$ 行,每行包含三个整数 $x_i$、$y_i$、$r_i$($-10^{5} \le x_i, y_i \le 10^{5}$,$1 \le r_i \le 10^5$),表示圆心为 $(x_i, y_i)$,半径为 $r_i$ 的圆。
输出格式
输出一个最小的实数,表示可以画出的满足要求的圆的半径,其必须经过给定的两个点并且不与任何已有的圆相交。
如果输出的结果的绝对误差或相对误差不超过 $10^{-4}$,则视为正确。
说明/提示

由 ChatGPT 5 翻译