P15317 [VKOSHP 2025] Two Skew Roads
题目描述
在阅读某场比赛中又一个无聊问题的题面时——这场比赛被某些人称为极其重要——你陷入了对故乡别洛达尔(Berlodar)的怀念与遐想。你回忆起自己是多么喜欢沿着它的两条主要道路漫步:福尔摩斯大道(Holmes Avenue)和华生街(Watson Street),这两条路将城市划分为四个巨大的区域。你微微笑了起来,回想起五年级一堂久远的数学课后,当老师讲到角度和距离时,你的眼睛亮了起来,随后的整个晚上,你都在城市的主要交叉口来回走动,最终测出福尔摩斯大道的宽度为 $\ell_H$ 米,华生街的宽度为 $\ell_W$ 米,并且它们相交的角度为 $\alpha$ 度。你在家里翻出一张城市地图,欣慰地确认了你的测量结果是正确的。
不久后你将返回别洛达尔过新年假期,并想拜访你的四位朋友。他们住在不同的区域,因此为了拜访所有朋友,你将多次穿过主要道路,有时甚至要穿过两条。在规划步行路线时,你会好奇:这四个区域之间你需要走多远呢?这两条街道的交通信号灯设置意味着,所有行人的绿灯(相应地,两条道路上车辆的绿灯)是同时亮起的,因此要在任意一对区域之间穿行(即使它们位于对角位置),你都将沿着连接它们边界的最短线段行走。
总共有 $\frac{4 \cdot (4 - 1)}{2} = 6$ 对区域。请编写一个程序,输出六个数字,即别洛达尔各个区域之间的两两距离。
输入格式
输入仅一行,包含三个实数 $\ell_H$、$\ell_W$ 和 $\alpha$,分别表示福尔摩斯大道的宽度(米)、华生街的宽度(米)以及它们相交的角度(度)($0.01 \le \ell_H, \ell_W \le 1000$; $0.1 \le \alpha \le 90$)。这三个数字都将精确到小数点后三位。
输出格式
以任意顺序输出六个实数 —— 别洛达尔四个区域之间的两两距离(米)。当相对误差或绝对误差不超过 $10^{-6}$ 时,你的答案将被接受。形式化地说,设 $\left\{a_i\right\}_{i \in [1..6]}$ 是你的答案,$\left\{b_i\right\}_{i \in [1..6]}$ 是评测程序的答案,如果可以重新排列数组 $a$ 中的数,使得对于每个下标 $i \in [1..6]$,重排后满足 $\frac{|a_i - b_i|}{\max\{b_i, 1\}} \le 10^{-6}$,则答案被视为正确。
说明/提示
:::align{center}

:::
翻译由 DeepSeek 完成