实验指导书
实验五 超市选址问题
一、实验目的与要求
实验目的:锻炼数据结构、算法设计与实现能力
实验要求:
1熟悉数据结构、离散数学、算法设计等课程。
2对实验题目进行分析,选取适当的数据结构和算法设计方法。
3进行程序编写和调试工作。
二、实验内容
在一个按照东西和南北方向划分成规整街区的城市里,n个居民点散乱地分布在不同的街区中。用x坐标表示东西向,用y坐标表示南北向。各居民点的位置可以由坐标(x,y)表示。街区中任意两点(x1,y1)和(x2,y2)之间的距离可以用数值|x1-x2|+|y1-y2|度量。居民们希望在城市中选择建立超市的最佳位置,使n个居民点到超市的距离总和最小。
编程任务:给定n个居民点的位置,编程计算n个居民点到超市的距离总和的最小值。
输入:输入由多组测试数据组成。每组测试数据输入的第1行是居民点数n,接下来n行是居民点的位置,每行两个整数x和y。
输出:对应每组输入,输出数据是n个居民点到超市距离总和的最小值。 输入示例:5 居民点到超市最小距离和:10
1 2
2 2
1 3
3 -2
3 3
三、实验方法
超市选址问题的核心可以看成是求中值的问题,即n个居民点的横、纵坐标值的中位数就是最优解。为此可先求出n个居民点的x坐标值和y坐标值的中位数,然后由此求得n个居民点到超市距离总和的最小值。