QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100

#4682. 管道流

Estadísticas

你的家乡雇佣了一些承包商——包括你在内!——来管理其市政管道网络。他们耗费巨资建造了这个网络,旨在为镇上的每家每户供应“Flubber”。不幸的是,目前还没有人发现“Flubber”的用途,但没关系。这要么是“Flubber”网络,要么是消防局,老实说,房子着火的情况很少见,消防局似乎没那么必要。

如果有人在某处决定他们需要一些“Flubber”,他们会想知道它在管道中流动的速度有多快。测量其流速是你的工作。

你可以使用连接到网络的一根管道。该管道长 $l$ 米,你可以选择在任何时间开始让“Flubber”通过这根管道。已知它以恒定的实数速度流动,该速度至少为 $v_1$ 米/秒,至多为 $v_2$ 米/秒。你希望以至多 $\frac{t}{2}$ 米/秒的绝对误差来估计这个速度。

不幸的是,管道是不透明的,所以你唯一能做的就是在其长度上的任何一点敲击管道,即在闭区间 $[0, l]$ 内的实数范围内。听敲击的声音可以告诉你“Flubber”是否已经到达了该点。你的反应不是无限快的。你的第一次敲击必须在开始流动后至少 $s$ 秒,并且两次敲击之间必须至少间隔 $s$ 秒。

确定一种策略,在最坏情况下,通过最少的敲击次数来估计“Flubber”的流速。注意,在某些情况下,所需的估计可能是不可能的(例如,如果“Flubber”太快到达管道末端)。

图片由 Nevit 通过 Wikimedia Commons 提供

输入格式

输入包含多个测试用例。第一行包含一个整数 $c$ ($1 \le c \le 100$),表示测试用例的数量。接下来的 $c$ 行中,每一行描述一个测试用例。每个测试用例包含五个整数 $l, v_1, v_2, t$ 和 $s$ ($1 \le l, v_1, v_2, t, s \le 10^9$ 且 $v_1 < v_2$),其含义如上所述。

输出格式

对于每个测试用例,输出在最坏情况下估计流速所需的最少敲击次数。如果无法足够精确地测量流速,则输出 impossible

样例

样例输入 1

3
1000 1 30 1 1
60 2 10 2 5
59 2 10 2 5

样例输出 1

5
3
impossible

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.