SP2855 FOREST2 - Forest

题目描述

Bruce Force 正站在森林中,他想知道在他视线中最远且没有被其他树挡住的树干是哪一个。 Bruce 画了一张森林的地图。在地图上,他的位置被标记为笛卡尔坐标系的原点 (0, 0)。地图中的第 $i$ 棵树用一个圆来表示,该圆的圆心坐标为 $(x_i, y_i)$,圆的半径为 $r_i$。当且仅当从原点 (0, 0) 到这个圆周上某一点可以画出一条不与其他圆相交或接触的线段时,这棵树被认为是可见的。

输入格式

输入包括多个测试用例,每个测试用例的第一行包含一个整数 $n$ ($1 \le n \le 1000$),表示树的数量。接下来的 $n$ 行中,每行包含三个整数 $x_i, y_i, r_i$ ($-10000 \le x_i, y_i \le 10000, 1 \le r_i \le 1000$),分别代表第 $i$ 棵树的圆心坐标和半径。可以假设输入中没有两个圆相交,即任意两个圆的圆心距离大于它们半径之和。此外,保证没有圆包含原点。 输入最后是一个单独的零,表示输入结束。

输出格式

对于每个测试用例,输出一行,从原点到可见树的最大欧几里德距离。距离是以树上离原点最近的点为准进行测量的,不管这个点实际是否可见。 结果需要保留三位小数。

说明/提示

- $1 \le n \le 1000$ - $-10000 \le x_i, y_i \le 10000$ - $1 \le r_i \le 1000$ **本翻译由 AI 自动生成**