#P9830. [ICPC 2020 Shanghai R] Traveling in the Grid World
[ICPC 2020 Shanghai R] Traveling in the Grid World
Description
考虑一个由 行和 列组成的网格图案。总共有 个网格点,即 条水平线和 条垂直线的交点。我们将水平线从上到下编号为 到 。我们将垂直线从左到右编号为 到 。水平线 和垂直线 的交点命名为 ()。
在网格世界中旅行时有一些限制。当你位于点 时,你可以选择一个目的地 并沿着 和 之间的线段走过去。我们称这种操作为一次“行走”。如果在它们之间的线段上存在另一个不同于 和 的网格点,则该行走是被禁止的。你可以走任意多次,但两次连续行走的方向不能相同。(具体来说,如果你从 走到 ,然后从 走到 ,你必须确保 。)从 到 的行走长度定义为两个端点之间的欧几里得距离,。
从 出发,你计划通过几次行走到达 。由于这些烦人的规则,你可能需要一些转折点来实现你的目标。请找出你的行走的最小总长度。
Input Format
有多个测试用例。输入的第一行包含一个整数 ,表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 (),表示网格图的大小。
保证所有测试用例中 的总和不超过 。
Output Format
对于每个测试用例,输出最小的行走总长度。你的答案将被认为是正确的,如果其绝对或相对误差不超过 。
2
2 2
2 3
3.236067977499790
3.605551275463989
Hint
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号