CF1612A Distance
题目描述
我们定义两点 $p_1$(坐标为 $(x_1, y_1)$)和 $p_2$(坐标为 $(x_2, y_2)$)之间的曼哈顿距离为 $d(p_1, p_2) = |x_1 - x_2| + |y_1 - y_2|$。例如,坐标为 $(1, 3)$ 和 $(4, 2)$ 的两点之间的距离为 $|1 - 4| + |3 - 2| = 4$。
现在给定两个点 $A$ 和 $B$,其中 $A$ 的坐标为 $(0, 0)$,$B$ 的坐标为 $(x, y)$。
你的目标是找到一个点 $C$,使得:
- $C$ 的两个坐标都是非负整数;
- $d(A, C) = \dfrac{d(A, B)}{2}$(不进行任何取整);
- $d(B, C) = \dfrac{d(A, B)}{2}$(不进行任何取整)。
请找出满足上述条件的任意一个点 $C$,或者报告不存在这样的点。
输入格式
第一行包含一个整数 $t$($1 \le t \le 3000$),表示测试用例的数量。
每个测试用例包含一行,包含两个整数 $x$ 和 $y$($0 \le x, y \le 50$),表示点 $B$ 的坐标。
输出格式
对于每个测试用例,输出一行答案:
- 如果不存在满足条件的点 $C$,输出“-1 -1”;
- 否则,输出两个不超过 $10^6$ 的非负整数,表示满足条件的点 $C$ 的坐标。如果有多个答案,输出任意一个即可。可以证明,如果存在满足条件的点,一定存在坐标不超过 $10^6$ 的解。
说明/提示
以下是样例中部分测试用例的解释:
- 第一个测试用例中,点 $B$ 的坐标为 $(49, 3)$。如果点 $C$ 的坐标为 $(23, 3)$,则 $A$ 到 $B$ 的距离为 $|49 - 0| + |3 - 0| = 52$,$A$ 到 $C$ 的距离为 $|23 - 0| + |3 - 0| = 26$,$B$ 到 $C$ 的距离为 $|23 - 49| + |3 - 3| = 26$。
- 第二个测试用例中,点 $B$ 的坐标为 $(2, 50)$。如果点 $C$ 的坐标为 $(1, 25)$,则 $A$ 到 $B$ 的距离为 $|2 - 0| + |50 - 0| = 52$,$A$ 到 $C$ 的距离为 $|1 - 0| + |25 - 0| = 26$,$B$ 到 $C$ 的距离为 $|1 - 2| + |25 - 50| = 26$。
- 第三和第四个测试用例,可以证明不存在满足条件的整数坐标点。
- 第五个测试用例中,点 $B$ 的坐标为 $(42, 0)$。如果点 $C$ 的坐标为 $(21, 0)$,则 $A$ 到 $B$ 的距离为 $|42 - 0| + |0 - 0| = 42$,$A$ 到 $C$ 的距离为 $|21 - 0| + |0 - 0| = 21$,$B$ 到 $C$ 的距离为 $|21 - 42| + |0 - 0| = 21$。
由 ChatGPT 4.1 翻译