Pascal:「回国探亲」

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:26:43
Problem description
阿毛在国外留学2年,今年假期他终于买了机票回国探亲了。想想2年没见的父母兄弟,还有八大姨,七大婶,阿毛那是相当兴奋。但是假期时间有限,所以他想走尽量少的路,而且把所有的亲戚家都跑一趟。

Input
输入几组测试例子,第一行是测试例子的数量。
每一个测试例子你要给出亲戚的数量r( 0 < r < 500)和每个亲戚所住的街道编号S1,S2……Si……Sr(0 < Si < 30000),r和S都是整数,多个亲戚可能住在统一街区。

Output
对每一个测试例子,你要给出从阿毛住地到每一个亲戚家的距离之和的最小值(阿毛可以住在任意一个亲戚家),街道si 和 sj 之间的距离是dij= |si-sj|.

Sample Input
2
2 2 4
3 2 4 6

Sample Output
2
4

用free pascal

Program ex_1;
var
time,times,n,i,k,max,min:longint;
begin
readln(time);
for times := 1 to time do
begin
max:=-maxlongint;min:=maxlongint;
readln (n);
for i:=1 to n do
begin
read(k);
if k>max then max:=k;
if k<min then min:=k;
end;
writeln(max-min);
end ;
end.

兄弟,我没学过这个语言,但是我想用我做过的一道数学题的思想来解决这个问题,就是将各段距离来组织几个循环,各段距离让他大于最小的值和小于最大的值,然后里面就将各段距离之和加起来,存在一个变量里面.每次循环后比较大小,最后保留最小值!

纯属个人意见,仅供参考!