CF1428A Box is Pull

题目描述

Wabbit 想要在坐标平面上将装有动物园食物的箱子从点 $ (x_1,y_1) $ 移动到点 $ (x_2,y_2) $。 他有一根绳子,可以用来拉箱子。只有当他站在箱子正好 $1$ 个单位距离的位置,并且方向与坐标轴平行时,他才能拉箱子。他会把箱子拉到自己所在的位置,然后再沿同一方向移动 $1$ 个单位让开。 例如,如果箱子在点 $ (1,2) $,Wabbit 站在点 $ (2,2) $,他可以将箱子向右拉 $1$ 个单位,箱子最终到达点 $ (2,2) $,Wabbit 最终到达点 $ (3,2) $。 此外,Wabbit 也可以选择不拉箱子,单独向右、左、上、下移动 $1$ 个单位。这种情况下,他不需要距离箱子正好 $1$ 个单位。如果他想再次拉箱子,必须回到箱子旁边的某个点。Wabbit 不能移动到箱子所在的位置。 Wabbit 可以从任意位置开始。无论是拉箱子还是单独移动,每移动 $1$ 个单位都需要 $1$ 秒。 请你计算,将箱子从 $ (x_1,y_1) $ 移动到 $ (x_2,y_2) $ 所需的最少时间。注意,Wabbit 最终停留的位置无关紧要。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 $ t $ $ (1 \leq t \leq 1000) $,表示测试用例的数量。 接下来的 $ t $ 行,每行包含四个用空格分隔的整数 $ x_1, y_1, x_2, y_2 $ $ (1 \leq x_1, y_1, x_2, y_2 \leq 10^9) $,描述一个测试用例。

输出格式

对于每个测试用例,输出一个整数,表示 Wabbit 将箱子从 $ (x_1,y_1) $ 移动到 $ (x_2,y_2) $ 所需的最少秒数。

说明/提示

在第一个测试用例中,箱子的起点和终点分别为 $ (1,2) $ 和 $ (2,2) $,与题目中的图片一致。Wabbit 只需 $1$ 秒即可完成移动。 在第二个测试用例中,Wabbit 可以从点 $ (2,1) $ 开始。他将箱子拉到 $ (2,1) $,自己移动到 $ (3,1) $。然后他移动到 $ (3,2) $ 和 $ (2,2) $,这两步不拉箱子。最后,他将箱子拉到 $ (2,2) $,自己移动到 $ (2,3) $。总共需要 $4$ 秒。 由 ChatGPT 4.1 翻译