Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:256 MB

#23. 机器人仓库

Statistics

题目描述

有一个棋盘式布局的机器人仓库,仓库内有若干货架,一个送货机器人从卸货点出发,将货物按照需求送到货架上,每种货物只会被放置在同一个指定货架上,每个货架可以放置多种货物。送货机器人横、直、斜走均可,但每步只能走一格,每次只能送一个货物,它需要在卸货点取一个货物并将其送到对应货架后返回卸货点,再取一个货物继续配送。机器人卸货需要到达货架所在格子,即与货架重合。货架不算障碍,机器人的路径可以经过货架。

现在给你一个卸货清单,上面有全部货物的种数,每种货物要被送到的货架位置和这种货物的数量,请你设计一个程序,在仓库内设置一个卸货点,使得机器人按照最优路径配送完全部货物所需要走的总步数最少。

配图链接

以防配图打不开,文字说明:

  1. 仓库布局可以参考国际象棋的棋盘,每个货架🗄️放在棋盘的一个格子上,卸货点亦应该放在棋盘的一个格子上,并且可以与货架重合,机器人🤖每步可以走到与之所在格子共边或共顶点的,即图中绿色的方格
  2. 每个棋盘的位置用二维坐标表示,编号方式参考矩阵的行与列(尽管这对解题似乎并不重要)。

输入格式

输入第一行为一个数字 n ,表示共有 n 种货物。

其后 n 行,每行三个数字,表示每种货物要送到的货架位置与数量。譬如,输入的第 i+1 行表示第 i 种货物的配送信息( 1 ≤ i ≤ n ),该行第一个数字 x_i为第 i 种货物的目标货架的横坐标, y_i 为目标货架的纵坐标, t_i 为第 i 种货物的个数。

输出格式

输出一行,该行两个整数,表示所求得的卸货点位置的坐标,第一个为横坐标,第二个为纵坐标。

如果有多个满足条件的卸货点位置(最优点),请输出横纵坐标之和最小的最优点,如果有多个横纵坐标之和最小的最优点,输出其中横坐标最小的那的。 (因为懒得折腾Special Judge了)

样例

样例一
输入
9
1 1 1
1 3 1
1 5 1
3 1 1
3 3 3
3 5 1
5 1 1
5 3 1
5 5 1
输出
3 3
样例二
输入
4
1 1 1
1 2 1
2 1 1
2 2 1
输出
1 1

样例不在测试用例中

数据范围

全部输入都是整数,其中 1 ≤ n ≤ 10^51 ≤ x_i,y_i ≤ 5 * 10^81 ≤ t_i ≤ 10^6