A4736 | 摩天轮
来源官方 / 2025
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
在 $\tt{Acgo}$ 游乐园,有两座摩天轮,摩天轮 $A$ 的位置为 $(X_A, Y_A)$,高度为 $L_A$;摩天轮 $B$ 的位置为 $(X_B, Y_B)$,高度为 $L_B$。
两座摩天轮的形状都呈圆形,恒速运动,转一圈的时间都为 $T$ 分钟。
现在小码君和小码酱决定在同一时间,分别登上摩天轮 $A$ 和摩天轮 $B$。
我们假定一座高度为 $L$ 的摩天轮的坐标为 $(0, 0)$,转一圈的时间为 $T$ 分钟,那么在登上摩天轮后的位置为一个三维坐标:
- 刚刚登上摩天轮时,位置为 $(0, 0, 0)$;
- 登上摩天轮 $\frac{T}{4}$ 分钟后,位置为 $(0, -\frac{L}{2}, \frac{L}{2})$;
- 登上摩天轮 $\frac{T}{2}$ 分钟后,位置为 $(0, 0, L)$;
- 登上摩天轮 $\frac{3T}{4}$ 分钟后,位置为 $(0, \frac{L}{2}, \frac{L}{2})$;
你需要回答 $Q$ 个询问,每个询问给出一个时间 $S_i$,请你计算在登上摩天轮 $S_i$ 分钟后,从小码君的当前位置看向小码酱的当前位置的仰角或俯角。
$\large{数据范围}$
- $2 \le T \le 10^9$
- $0 \le X_A, Y_A, X_B, Y_B \le 10^9$
- $(X_A, Y_A) \ne (X_B, Y_B)$
- $1 \le L_A, L_B \le 10^9$
- $1 \le Q \le 10^4$
- $0 \le S_i \lt T$
- 所有输入数据均为整数。
两座摩天轮的形状都呈圆形,恒速运动,转一圈的时间都为 $T$ 分钟。
现在小码君和小码酱决定在同一时间,分别登上摩天轮 $A$ 和摩天轮 $B$。
我们假定一座高度为 $L$ 的摩天轮的坐标为 $(0, 0)$,转一圈的时间为 $T$ 分钟,那么在登上摩天轮后的位置为一个三维坐标:
- 刚刚登上摩天轮时,位置为 $(0, 0, 0)$;
- 登上摩天轮 $\frac{T}{4}$ 分钟后,位置为 $(0, -\frac{L}{2}, \frac{L}{2})$;
- 登上摩天轮 $\frac{T}{2}$ 分钟后,位置为 $(0, 0, L)$;
- 登上摩天轮 $\frac{3T}{4}$ 分钟后,位置为 $(0, \frac{L}{2}, \frac{L}{2})$;
你需要回答 $Q$ 个询问,每个询问给出一个时间 $S_i$,请你计算在登上摩天轮 $S_i$ 分钟后,从小码君的当前位置看向小码酱的当前位置的仰角或俯角。
$\large{数据范围}$
- $2 \le T \le 10^9$
- $0 \le X_A, Y_A, X_B, Y_B \le 10^9$
- $(X_A, Y_A) \ne (X_B, Y_B)$
- $1 \le L_A, L_B \le 10^9$
- $1 \le Q \le 10^4$
- $0 \le S_i \lt T$
- 所有输入数据均为整数。
输入格式
对于每个测试文件,格式如下:
$\tt{T}$
$\tt{X_A\ Y_A\ L_A}$
$\tt{X_B\ Y_B\ L_B}$
$\tt{Q}$
$\tt{S_1}$
$\tt{S_2}$
$\tt{\vdots}$
$\tt{S_Q}$
输出格式
对于每个查询 $S_i$,输出在登上摩天轮 $S_i$ 分钟后,小码君看向小码酱的仰角或俯角的度数。
输出与答案的相对或绝对误差小于或等于 $10^{-6}$,则判定正确。
输出与答案的相对或绝对误差小于或等于 $10^{-6}$,则判定正确。
输入输出样例
输入 #1
4 0 0 1 1 0 2 4 0 1 2 3
输出 #1
0.000000000 24.094842552 45.000000000 24.094842552
输入 #2
2025 29 37 7 27 39 107 10 1 739 15 233 1024 456 25 1789 2024 1542
输出 #2
0.005068194 66.812289082 1.530523128 21.879878915 87.548573601 41.681212833 3.139482897 19.859660750 0.004690280 41.790529598
摩天轮 $A$ 的位置为 $(0, 0)$,高度为 $1$;
摩天轮 $B$ 的位置为 $(1, 0)$,高度为 $2$;
两者转一圈的时间都为 $4$ 分钟。
一开始时,小码君的坐标为 $(0, 0, 0)$,小码酱的坐标为 $(1, 0, 0)$,小码君看向小码酱的俯角为 $0^{\circ}$。
$2$ 分钟后,小码君的坐标为 $(0, 0, 1)$,小码酱的坐标为 $(1, 0, 2)$,小码君看向小码酱的仰角为 $45^{\circ}$。
摩天轮 $B$ 的位置为 $(1, 0)$,高度为 $2$;
两者转一圈的时间都为 $4$ 分钟。
一开始时,小码君的坐标为 $(0, 0, 0)$,小码酱的坐标为 $(1, 0, 0)$,小码君看向小码酱的俯角为 $0^{\circ}$。
$2$ 分钟后,小码君的坐标为 $(0, 0, 1)$,小码酱的坐标为 $(1, 0, 2)$,小码君看向小码酱的仰角为 $45^{\circ}$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?