P16174 [ICPC 2014 NAIPC] Banjo
题目描述
在精通了经典游戏《班卓熊大冒险》和《班卓熊大冒险2》之后,Bob 开始玩它们秘密发行的续作《班卓熊大冒险3》。这个游戏可以用一个二维坐标系来建模。玩家的目标很简单,就是扮演主角熊班卓(背着鸟伙伴 Kazooie),从一个点走到另一个点,他能够以每秒 1 单位的速度行走。听起来很简单!
然而,有一个转折。路上有一个岩浆坑,它是一个完美的圆形。尽管坑很烫,班卓仍然可以以相同的速度在它的表面上行走。但是,如果他在坑中连续停留超过 $t$ 秒,他将失去所有生命值。然而,如果班卓哪怕只是暂时离开坑,他的生命值就会重置,如果他愿意,他就可以再回到坑中。
为了确保他以最优化方式玩游戏,Bob 想知道从起点走到终点所需的最短时间,同时保证不在岩浆坑中连续停留超过 $t$ 秒。
输入格式
输入中有多个测试用例。每个测试用例由一行包含八个整数组成:
$$
x1\ y1\ x2\ y2\ xc\ yc\ r\ t
$$
其中 $(x1, y1)$ 是班卓的起点,$(x2, y2)$ 是班卓必须到达的终点,$(xc, yc)$ 是岩浆坑的中心,$r$($1 \leq r \leq 10{,}000$)是坑的半径,$t$($0 \leq t \leq 10{,}000$)是班卓在失去所有生命值之前可以在坑中连续停留的秒数。
所有坐标的范围为 $-10{,}000 \leq x, y \leq 10{,}000$,且一个测试用例中的三个点互不相同。起点和终点不在岩浆内部,也不在岩浆边缘。输入以一行八个 0 结束。测试数据大小约 12 KB。
输出格式
对于每个测试用例,输出一个数字,表示班卓从起点到终点的最短时间,精确到两位小数(四舍五入)。每个数字输出在自己的行上,不要包含空格。输出之间不要打印空行。
说明/提示
翻译由 DeepSeek V3.2 完成