首页 > 其他 > 详细

uva-10041-水题

时间:2019-01-11 00:33:34      阅读:202      评论:0      收藏:0      [点我收藏+]

题意:有个人想找到个房子住,并且他经常去其他街道,输入n条街,给这个人选择一条街,使得他去其他街道的距离总和最小。

排序,双重for

#include <string>
#include<iostream>
#include<map>
#include<memory.h>
#include<vector>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<math.h>
#include<iomanip>
#include<bitset>
#include"math.h"
namespace cc
{
    using std::cout;
    using std::endl;
    using std::cin;
    using std::map;
    using std::vector;
    using std::string;
    using std::sort;
    using std::priority_queue;
    using std::greater;
    using std::vector;
    using std::swap;
    using std::stack;
    using std::bitset;


    constexpr int N = 501;
    int a[N];
    
    
    
    void solve()
    {
        int n,r;
        cin >> n;
        while (n--) 
        {
            cin >> r;
            for (int i = 0;i < r;i++)
                cin >> a[i];
            sort(a,a+r);
            int curMin = 0x7fffffff;
            for (int i=0;i<r;i++) 
            {
                int curTotal = 0;
                for (int j=0;j<r;j++) 
                {
                    if (i == j)
                        continue;
                    int t = abs(a[i]-a[j]);
                    curTotal += t;
                    if (curTotal >= curMin)
                        break;
                }
                if (curTotal < curMin)
                    curMin = curTotal;
            }
            cout << curMin << endl;
        }
        


    }

};


int main()
{

#ifndef ONLINE_JUDGE
    freopen("d://1.text", "r", stdin);
#endif // !ONLINE_JUDGE
    cc::solve();

    return 0;
}

 

uva-10041-水题

原文:https://www.cnblogs.com/shuiyonglewodezzzzz/p/10253190.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!