#P16174. [ICPC 2014 NAIPC] Banjo

[ICPC 2014 NAIPC] Banjo

题目描述

在精通了经典游戏《班卓熊大冒险》和《班卓熊大冒险2》之后,Bob 开始玩它们秘密发行的续作《班卓熊大冒险3》。这个游戏可以用一个二维坐标系来建模。玩家的目标很简单,就是扮演主角熊班卓(背着鸟伙伴 Kazooie),从一个点走到另一个点,他能够以每秒 1 单位的速度行走。听起来很简单!

然而,有一个转折。路上有一个岩浆坑,它是一个完美的圆形。尽管坑很烫,班卓仍然可以以相同的速度在它的表面上行走。但是,如果他在坑中连续停留超过 tt 秒,他将失去所有生命值。然而,如果班卓哪怕只是暂时离开坑,他的生命值就会重置,如果他愿意,他就可以再回到坑中。

为了确保他以最优化方式玩游戏,Bob 想知道从起点走到终点所需的最短时间,同时保证不在岩浆坑中连续停留超过 tt 秒。

输入格式

输入中有多个测试用例。每个测试用例由一行包含八个整数组成:

x1 y1 x2 y2 xc yc r tx1\ y1\ x2\ y2\ xc\ yc\ r\ t

其中 (x1,y1)(x1, y1) 是班卓的起点,(x2,y2)(x2, y2) 是班卓必须到达的终点,(xc,yc)(xc, yc) 是岩浆坑的中心,rr1r10,0001 \leq r \leq 10{,}000)是坑的半径,tt0t10,0000 \leq t \leq 10{,}000)是班卓在失去所有生命值之前可以在坑中连续停留的秒数。

所有坐标的范围为 10,000x,y10,000-10{,}000 \leq x, y \leq 10{,}000,且一个测试用例中的三个点互不相同。起点和终点不在岩浆内部,也不在岩浆边缘。输入以一行八个 0 结束。测试数据大小约 12 KB。

输出格式

对于每个测试用例,输出一个数字,表示班卓从起点到终点的最短时间,精确到两位小数(四舍五入)。每个数字输出在自己的行上,不要包含空格。输出之间不要打印空行。

0 0 10 0 5 0 3 5
0 0 0 0 0 0 0 0
11.00

提示

翻译由 DeepSeek V3.2 完成