[解题报告]11364 - Parking
题目大意
题目原文:http://uva.onlinejudge.org/external/113/11364.pdf
背景:
在长龙街上购物时,麦可通常在路边随便找个地方停车,然后走路去店里。你可以帮麦可找个停车位,好让他所走的距离最短吗?
长龙街是一条直线,所有的店家及收费停车位都在直线的整数字置上。麦可要去很多家店,但是只想付一次的停车费。他很强壮,不在乎提着很多袋子走路。
输入
输入的第一行代表测试笔数 1<= t <= 100,每笔测试有两行。第一行是麦可要去几家店 1<= n <= 20,第二行则是 n 个店家在长龙街上的整数字址 0 <= xi <= 99。请参考Sample Input。。
输出
每笔测试要输出一行,印出如果车停得好的话麦可最少需要行走的距离。
Sample Input
2 4 24 13 89 37 6 7 30 41 14 39 42
Sample Output
152 70
算法:
我的算法是将数字进行排序,然后得出答案。
代码:
这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。
#include<stdio.h> int main(void) { int t,n,i,j,swap,temp; int a[20]; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n-1;i++) { swap=0; for(j=0;j<n-i-1;j++) if(a[j]<a[j+1]) { swap=1; temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } if(!swap)break; } printf("%d\n",(a[0]-a[n-1])*2); } return 0; }