QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#3008. 火箭動力氣墊船

Statistics

你正喺度為一艘自主火箭動力氣墊船寫程式。架船可以行得非常、非常快,但係轉彎就好困難。由於佢浮喺地面上,所以要靠啟動定向推進器嚟轉彎;無論架船向前行緊定停定咗,呢啲推進器都會令佢轉向。

你用嚟測試嘅鹽灘已經用 $\text{2D}$ 笛卡兒座標網格標示好。氣墊船由網格上嘅位置 $(0,0)$ 出發,朝住 $X$ 軸正方向。你嘅任務係令架船去到鹽灘上另一個位置 $(x,y)$。

氣墊船嘅固定對地速度係每秒 $v$ 英里,固定旋轉速率係每秒 $w$ 弧度。由於火箭喺加速同減速時嘅推力都好強,架船幾乎可以即刻達到最高速度,亦可以一樣咁快由最高速度停低。同樣,佢可以即刻開始以固定速率旋轉,亦可以一樣咁快停止旋轉。佢可以順時針或者逆時針轉。

你要搵出架船去到目標所需嘅最短時間。控制架船嘅程式可以開始向前行、停止向前行、開始旋轉同停止旋轉,每種操作都恰好執行一次。留意,開始/停止向前行同開始/停止旋轉可以各自獨立進行。

輸入格式

每組測試資料都恰好有兩行。

第一行有兩個用空格分隔嘅整數 $x$ 同 $y$($−1,000 \leq x, y \leq 1,000,(x,y)\ne(0,0)$),表示你想去到嘅鹽灘網格位置,單位係英里。

輸入嘅第二行有兩個用空格分隔、恰好有兩位小數嘅實數:$v$($0.01 \leq v \leq 10.00$)同 $w$($0.01 \leq w \leq 10.00$)。$v$ 係固定行駛速度,單位係英里/秒;$w$ 係向任何一邊轉嘅固定旋轉速率,單位係弧度/秒。

輸出格式

輸出一個實數,表示喺上述限制下,氣墊船由 $(0,0)$ 去到 $(x,y)$ 所需嘅最短時間(秒)。只要你嘅答案嘅絕對誤差唔超過 $10^{−3}$,就會獲得接受。

樣例

輸入格式 1

20 0
1.00 0.10

輸出格式 1

20.00000000

輸入格式 2

-10 10
10.00 1.00

輸出格式 2

3.14159265

輸入格式 3

0 20
1.00 0.10

輸出格式 3

28.26445910

輸入格式 4

-997 -3
5.64 2.15

輸出格式 4

177.76915187

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.