修一下题面
查看原帖
修一下题面
664105
BalanceSegment楼主2023/8/9 09:13

题目描述

Lena 喜欢秩序井然的生活。一天,她要去上大学时发现整个房间乱糟糟的,她的手提包里的物品都散落在了地上,于是她想把所有的物品都放回她的手提包。

但是,她一次最多只能拿两个物品,她也不能移动她的手提包。并且,因为她爱整洁的习惯,如果她拿起了一个物品,她也不能将它放在其他地方,除非放回她的手提包。

Lena 把她的房间划分为了一个平面直角坐标系。现在Lena 给你她和每个散落的物品的坐标。她从坐标 (x1,y1)(x_1,y_1) 走到坐标 (x2,y2)(x_2,y_2) 需要用 (x1−x2)2+(y1−y2)2(x_1-x_2)^2+(y_1-y_2)^2 的单位时间。现在,Lena 将告诉你她的房间的情况,请你为 Lena 找到一个拾起每个物品的顺序,使她拾起所有物品所需的总时间最小。当然,Lena 最后需要返回她的手提包。

输入格式

输入文件的第一行为Lena的手提包的坐标 xs,ysx_s,y_s。

第二行为一个正整数 nn ,表示总的需要拾起的物品数。接下来的 nn 行每行包括两个整数,表示每个物品的坐标。

输出格式

输出的第一行为一个正整数,表示 Lena 拾起所有物品所需的最小时间。

输出的第二行为 Lena 拾起每个物品的顺序。她应该从手提包(编号 00)出发,在手提包(编号 00)结束。如 0 1 2 0 3 0 表示她从手提包出发,先拾起 11 号物品,再拾起 22 号物品,然后返回手提包放下两个物品,再拾起 33 号物品,最后返回手提包。

如果有多条允许的路径,输出任一条。

2023/8/9 09:13
加载中...