• 省赛集训水题 仓库的位置


    **题目描述
    小明最近做起了物流生意,为了提高送货效率,小明想请你帮他确定一下仓库的最佳位置。
    为了简化问题,小明认为所有的客户住所都在一条坐标轴上,并且每个住所都在轴上有一个坐标。小明每天都会将货物从仓库送到各个客户手中。
    请问仓库安置在什么位置(位置可以是轴上的任意点,也可以和客户住所位置重合),能使得仓库到各个客户住所的距离之和最小?如果存在多个位置距离相等,则输出位置最大的那一组。
    输入
    输入的第一行是一个整数T,表示有T组测试数据。
    每组测试数据第一行是一个整数N(1<=N<=1000)表示在轴上共有N个客户住所需要送达快递。
    接下来N行,每行一个整数ai(0<=ai<=30000)表示每个客户住所的位置,所有客户住所的位置均不相同。
    输出
    对于每组输入,输出一行,包含两个整数,分别是你确定的仓库位置,以及仓库到所有客户住所的距离之和。
    样例输入
    2
    5
    0
    20
    40
    10
    30
    1
    20
    样例输出
    20 60
    20 0**
    纯暴力的题 只要找到每次输入的最小位置数和最大位置数,在这个区间内遍历每个点,将每个点到其余各个位置的距离相加后与最小值比较,若比最小值还小,则更新最小值,并记录下该点位置即为最佳位置,输出即可

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<stdlib.h>
    int num[1010];
    
    int main()
    {
        int t,i,min,max,max2,x,n, j, sum;
        scanf("%d",&t);
        while( t --)
        {
            scanf("%d",&n);
            min = 500000;
            max = -1;
            max2 = 50000000;
            for( i = 1; i <= n; i ++)
            {
                scanf("%d",&num[i]);
                if( num[i] < min)
                    min = num[i];
                if( num[i] > max)
                    max = num[i];
            }
            for( i = min; i <= max; i ++)
            {
                sum = 0;
                for( j = 1; j <= n; j ++)
                {
                    sum += abs(i-num[j]);
                }
                if( sum <= max2)
                {
                    max2 = sum;
                    x = i;
                }
            }
            printf("%d %d
    ",x,max2);
        }
        return 0;
    }
    

    后记:
    这道题很水,但是练习赛的时候自己还是没有写出来,重现赛tle了4遍,WA了2遍,最后还是别人给我找出错误才AC。自己审题不仔细导致超时和WA,还有8天就省赛了,自己还是没有进入状态,今天练习赛位居倒数第二名,昨天和前一天都不想写题了,从集训开始到现在,自己没有一天不是垫底。不知道自己要怎么努力才能摆脱目前这种情况,只能多思考思考,希望省赛之前快点恢复状态

  • 相关阅读:
    ab参数详解 – 压力测试
    configure/make/make install的作用
    LNMP第二部分nginx、php配置
    centos 6.9安装mysql
    HDFS Java API的使用举例
    配置SSH无秘钥登录
    一篇文章学懂Shell脚本
    自己实现一个简单的网购秒杀系统
    hadoop伪分布式环境搭建
    vmware虚拟机的克隆
  • 原文地址:https://www.cnblogs.com/hellocheng/p/7350168.html
Copyright © 2020-2023  润新知