宇宙中存在一个与宇宙本身一样古老的生命体,人们(在大学时)曾称他为“漂移之王”(Drift King)。漂移之王既是混沌的化身,也是秩序的象征。他驾驶着他的宇宙超级跑车,以一种起初看起来杂乱无章、实则规律清晰的扭曲、循环、弯曲方式在太空中穿行。
我们将宇宙建模为二维笛卡尔平面,漂移之王汽车的位置由一个点表示,该点具有一个指向特定方向的“车头”。漂移之王自然只通过漂移来移动。他的车可以通过两种方式之一移动,每种方式由一个特定的符号表示:
- L 表示:沿一段四分之一圆弧路径逆时针移动,圆心位于其左侧 1 单位处。
- R 表示:沿一段四分之一圆弧路径顺时针移动,圆心位于其右侧 1 单位处。
如果漂移之王的汽车当前面向东方,下图展示了这些移动方式的样子。
这些“左”和“右”是相对于汽车当前面向的方向而言的。这些四分之一圆转弯会在每一步改变汽车的朝向。汽车的速度使得它在 1 个单位时间内完成其中一段四分之一圆弧。
汽车的路径由将这些移动方式串联起来形成的模式定义,然后该模式向两个方向无限重复。我们已知汽车在时间 $t = 0$ 时的位置和朝向,因此其路径是唯一确定的。
形式上,令 $s$ 为一个 0 索引字符串 $s = s_0s_1s_2 \dots s_{n-1}$,其中每个字符为 L 或 R。该字符串 $s$ 描述了向两个方向无限延伸的模式。它按顺序执行这些指定的转弯,当到达字符串末尾时循环回到开头(反之亦然)。
准确地说,汽车的旅程被定义为唯一的连续路径,满足:
- 在每个整数时间 $t$(包括负值),汽车开始执行由 $s(t \pmod n)$ 指示方向的转弯;
- 在时间 $t = 0$ 时,汽车位于 $(0, 0)$ 且面向东方。
我们强调,即使在这些整数时间戳之间,汽车在执行这些转弯时也在空间中连续移动。
下图展示了遵循模式 LRR 时路径的样子。注意,即使在 $t = 0$ 之前,汽车也已经按照这种模式移动了。
假设地球位于点 $(h, k)$。漂移之王这个威胁距离我们的星球最近(欧几里得距离)是多少(包括过去和未来)?此外,每个文件中会有 $T$ 个独立的测试用例。
输入格式
第一行包含一个整数 $T$,表示测试用例的数量。接下来是 $T$ 个测试用例的描述。
每个测试用例的第一行包含两个空格分隔的整数 $h$ 和 $k$。
每个测试用例的第二行包含字符串 $s$。
输出格式
输出一个十进制值,表示漂移之王距离地球的最近距离。
如果你的答案与裁判答案的绝对误差或相对误差不超过 $10^{-8}$,则你的答案将被接受。用符号表示,令 $ans_{\text{you}}$ 为你的答案,$ans_{\text{judge}}$ 为裁判答案。如果满足以下条件,你的答案将被接受:
$$\frac{|ans_{\text{you}} - ans_{\text{judge}}|}{\max(1, ans_{\text{judge}})} \le 10^{-8}$$
数据范围
- $1 \le T$
- $-10^9 \le h, k \le 10^9$
- $1 \le |s|$
- 所有测试用例的 $\sum |s| \le 10^5$
- $s$ 的每个字符均为 L 或 R
样例
输入 1
2 3 2 LRR 2 -1 LRR
输出 1
0.41421356237309504876 1.82842712474619009753
说明
两个样例测试用例都使用了模式 LRR,这正是题目描述中展示的例子。