最近遇到了一个好玩的问题。
数轴上原点有个送货机器人。已知有货物 n 个分布在数轴上,其中 s_i 是货物 i 的起始地点,t_i 是货物 i 应该被送去的终点。机器人一次可以拿起一个货物,并且拿到了货物就必须把货物送去终点(不能中途放下)。求机器人的最短路径使得机器人能送所有的货物,并且回到原点。
1
zer0fire 160 天前
贪心算法
``` int getDistance(List<货物数据> list, point 当前坐标){ if(list.size() == 1){return list.get(0).距离+距离原点距离} int min=0; foreach(Good g : list){ int distance = 先取第 n 个货物的距离+getDistance(list(去除第 n 个货物), 第 n 个货物终点); min = Match.min(min, distance); } } ``` |