简易版之最短距离
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4679 Accepted Submission(s): 2069
Problem Description
寒假的时候,ACBOY要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上。ACBOY可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点,然后才能去访问下一个朋友。
比如有4个朋友,对应的X轴坐标分别为1, 2, 3, 4。当ACBOY选择坐标为2的点做为出发点时,则他最终需要的时间为 |1-2|+|2-2|+|3-2|+|4-2| = 4。
现在给出N个朋友的坐标,那么ACBOY应该怎么走才会花费时间最少呢?
Input
输入首先是一个正整数M,表示M个测试实例。每个实例的输入有2行,首先是一个正整数N(N <= 500),表示有N个朋友,下一行是N个正整数,表示具体的坐标(所有数据均<=10000).
Output
对于每一个测试实例,请输出访问完所有朋友所花的最少时间,每个实例的输出占一行。
Sample Input
2
2
2 4
3
2 4 6
Sample Output
2
4
水题
#include <iostream>
using namespace std;
const int MAX = 510;
int a[MAX];
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
//算法思路,先对路径进行排序,找出中间点
//1.如果朋友为基数 则中间点为 n / 2
//2.如果朋友为偶数,则中间点可能为 n / 2 n / 2 - 1
int main()
{
int t, n, i, sum, temp;
cin>>t;
while(t--)
{
temp = sum = 0;
cin>>n;
for(i = 0; i < n; i++)
cin>>a[i];
qsort(a, n, sizeof(int), cmp);
for(i = 0; i < n; i++)
sum += abs(a[i] - a[n / 2]);
if(n % 2 == 0)
{
for(i = 0; i < n; i++)
temp += abs(a[i] - a[n / 2 - 1]);
sum = sum > temp ? temp : sum;
}
cout<<sum<<endl;
}
return 0;
}
分享到:
相关推荐
(HDUACM2010版_08)母函数(HDUACM2010版_08)母函数(HDUACM2010版_08)母函数(HDUACM2010版_08)母函数(HDUACM2010版_08)母函数(HDUACM2010版_08)母函数
杭电ACM课件2014版之 (HDUACM201303版_07)背包专题
杭电ACM课件2014版之(HDUACM2010版_13)二分匹配及其应用
【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...
通过完整版的HDU_ACM培训课件,学员可以从理论到实践全面提高自己的编程能力和竞赛水平,为在ACM竞赛中取得好成绩打下坚实基础。对于想要深入理解和掌握算法及编程技巧的人来说,这套课件是一份宝贵的资源。
杭电ACM课件2014版之 (HDUACM201403版_04)递推求解
8. **图论与树**:HDU题目中可能涉及图的遍历(深度优先搜索DFS、广度优先搜索BFS)、树的遍历(前序、中序、后序)以及最小生成树、最短路径等算法。 9. **动态规划**:这是一种优化策略,通过构建状态转移方程来...
HDUACM2010版_14)Hash及应用HDUACM2010版_14)Hash及应用HDUACM2010版_14)Hash及应用HDUACM2010版_14)Hash及应用
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...
你活的不容易,我活的不容易,他活的也不容易。不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易。
在《HDUACM201303版_10搜索入门》的课程或资料中,我们可以期待学习到以下关键知识点: 1. **宽度优先搜索(Breadth-First Search, BFS)**:BFS是一种用于遍历或搜索树或图的算法。它按照层次顺序进行搜索,优先...
HDU图论题目分类 HDU图论题目分类是指在杭州电子科技大学(Hangzhou Dianzi University)的判题平台HDU OJ(Online Judge)上收录的一系列图论题目的分类。本分类涵盖了图论领域的多种类型的题目,涉及到图论的基本...
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
最短路径 贪心实现代码 hdu 最短路 dijkstra 算法
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要采用特殊的算法来实现这些运算,这种...
(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树(HDUACM2010版_06)并查集(最小生成树