CF1091B New Year and the Treasure Geolocation

题目描述

Bob 是一名海盗,正在寻找世界上最伟大的宝藏。宝藏位于点 $T$,其坐标需要被找出。 Bob 环游世界,在 $n$ 个方尖碑处收集到了关于宝藏位置的线索。这些线索用古老的语言写成,他回家后才解读出来。由于他不知道每条线索属于哪个方尖碑,找到宝藏可能会有些困难。你能帮帮他吗? 众所周知,世界是一个二维平面。第 $i$ 个方尖碑的整数坐标为 $(x_i, y_i)$。第 $j$ 条线索由两个整数 $(a_j, b_j)$ 组成,并属于方尖碑 $p_j$,其中 $p$ 是 $n$ 个元素的某个(未知的)排列。这意味着宝藏位于 $T = (x_{p_j} + a_j,\, y_{p_j} + b_j)$。对于所有线索,这个点 $T$ 都是相同的。 换句话说,每条线索恰好属于一个方尖碑,每个方尖碑也恰好有一条属于它的线索。每条线索表示从方尖碑到宝藏的向量。你需要将线索分配给方尖碑,使得它们都指向同一个宝藏位置。 你的任务是找出宝藏的坐标。如果有多个解,你可以输出其中任意一个。 注意,你不需要找出具体的排列 $p$。排列只是为了帮助解释题意。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 1000$)——方尖碑的数量,也等于线索的数量。 接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$($-10^6 \leq x_i, y_i \leq 10^6$)——第 $i$ 个方尖碑的坐标。所有坐标均不相同,即对于任意 $i \neq j$,有 $x_i \neq x_j$ 或 $y_i \neq y_j$。 接下来的 $n$ 行,每行包含两个整数 $a_i, b_i$($-2 \cdot 10^6 \leq a_i, b_i \leq 2 \cdot 10^6$)——第 $i$ 条线索的方向。所有坐标均不相同,即对于任意 $i \neq j$,有 $a_i \neq a_j$ 或 $b_i \neq b_j$。 保证存在一个排列 $p$,使得对于所有 $i, j$,都有 $\left(x_{p_i} + a_i,\, y_{p_i} + b_i\right) = \left(x_{p_j} + a_j,\, y_{p_j} + b_j\right)$。

输出格式

输出一行,包含两个整数 $T_x, T_y$——宝藏的坐标。 如果有多个答案,你可以输出其中任意一个。

说明/提示

当 $n = 2$ 时,我们可以考虑所有两个元素的排列。 如果 $p = [1, 2]$,那么方尖碑 $(2, 5)$ 拥有线索 $(7, -2)$,这意味着宝藏藏在 $(9, 3)$。第二个方尖碑 $(-6, 4)$ 会给出线索 $(-1, -3)$,宝藏在 $(-7, 1)$。然而,两个方尖碑必须给出相同的位置,因此这显然不是正确的排列。 如果隐藏的排列是 $[2, 1]$,那么第一条线索属于第二个方尖碑,第二条线索属于第一个方尖碑。因此 $(-6, 4) + (7, -2) = (2, 5) + (-1, -3) = (1, 2)$,所以 $T = (1, 2)$ 是宝藏的位置。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1091B/f03c880711f7b9805001588cb705f046f5d5dbf6.png) 在第二个样例中,隐藏的排列是 $[2, 3, 4, 1]$。 由 ChatGPT 4.1 翻译