zoukankan      html  css  js  c++  java
  • 杭电 2083 简易版之最短距离

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2083

    解题思路:看到数据不大,直接算出每一种不同起点对应的距离找出最小值就可以了

    反思:其实最开始看到题目,想的是,将这一组数按升序排列好,然后中间的那几个点就很有可能是距离小的点,后来想到点与点的距离也不是均衡的,所以不能这样做

    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    int main()
    {
    	int ncase,n;
    	int a[500];
    	int i;
    	long long sum=0;
    	while(scanf("%d",&ncase)!=EOF)
    	{
    		while(ncase--)
    		{
    			int j=0;
    			long long min=5000000;
    		    scanf("%d",&n);
    		for(i=0;i<n;i++)
    			scanf("%d",&a[i]);
    		for(i=0;i<n;i++)
    		{
    			sum=0;
    			for(j=0;j<n;j++)
    			{
    				sum+=abs(a[i]-a[j]);
    			}
    			if(sum<min)
    				min=sum;
    
    		}
    		printf("%lld
    ",min);
    		}
    	}
    
    }
    

      

  • 相关阅读:
    VS自带的诊断工具
    Electron学习
    PC跨*台
    .NET调试学习
    Mac使用
    SSL/TLS
    UKey学习
    授权机制OAuth、JWT
    代理服务器
    .NET相关源码查找
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4088590.html
Copyright © 2011-2022 走看看