[解题报告]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;
}

 

 

posted @ 2013-02-22 15:59  乱七八糟 。  阅读(222)  评论(0编辑  收藏  举报