SP14839 BOXD - Boxdropper
题目描述
滑铁卢大学因其众多的鹅群而闻名,许多研究人员前往那里进行研究。有一天,因在盒子学领域的贡献而出名的 Y 博士决定前往调查这些鹅在解决优化问题上的能力。
滑铁卢大学有一个非常宽广的湖(广到让人不会考虑到湖的边界)。Y 博士计划在湖上投放一些二维盒子,然后指挥鹅从一个盒子移动到另一个盒子,记录下飞行和步行所花费的时间(由于湖水颜色不太吸引人,鹅自动避开游泳)。他拥有一台专用的盒子投放机,能够为他完成这项工作。他可以为机器下达以下命令:
**B** $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ :在湖面投放一个盒子,使其左下角坐标为 ( $ x_1 $ , $ y_1 $ ),右上角坐标为 ( $ x_2 $ , $ y_2 $ )。Y 博士将湖的中心作为坐标原点。注意,盒子可以互相重叠。
**G** $ a $ $ b $ :命令鹅从第 **a** 个投放的盒子移动到第 **b** 个投放的盒子,并记录鹅在飞行过程中所经历的总距离。
由于科学界尚未充分认识到研究这些盒子的学术价值,Y 博士没有获得太多研究经费。他手头上只有 $ 500 $ 个盒子,而且机器最多只能处理 $ 10^6 $ 条命令,否则会过热。
鹅可以穿越盒子自由行走,但有时为了到达其他的盒子,它们需要飞跃湖面。这些鹅每年秘密参加加拿大计算机竞赛的第二阶段,具备优化路径的丰富经验,因此总是选择能最小化飞行距离的路线。根据 Y 博士输入到盒子投放机的命令,找出每次 **G** 命令记录的飞行距离。
输入格式
每行会给出以下两种命令之一:
- 如果该行以字符 **B** 开头,后面跟着四个整数($ x_1 $, $ y_1 $, $ x_2 $, $ y_2 $),每个整数的绝对值不超过 $ 10^6 $。
- 如果该行以字符 **G** 开头,后面跟着两个整数($ a $ 和 $ b $),满足 $ a \neq b $ 且 $ 1 \leq a, b \leq n $(其中 $ n $ 是至今为止输入的 **B** 命令数量)。
输入以文件结束为止。
输出格式
对于每条 **G** 命令,输出鹅飞行路径的距离。每一结果应占一行,保留两位小数。
**本翻译由 AI 自动生成**