• 第六章30


    【题目描述】

    某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿着最短路经(或南或北)与主管道相连。

    如果给定n口油井的位置,即它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,使得各油井到主管道之间的输油管道长度总和最小。至于管道怎么切割你就不用操心了,小明在2015年第十四届“挑战杯”山东省大学生课外学术科技作品获得特等奖第一名的作品《海底管道切割机器人》用来切陆地上的管道照样也是棒棒滴。

    现在给定n口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。

    【输入】

    有多行。第1行是一个整数n,表示油井的数量(1≤ n≤10000)。接下来n行是油井的位置,每行两个整数x和y(-10000≤x,y≤10000)。

    【输出】

     仅一行。一个整数,表示各油井到主管道之间的输油管道最小长度总和。

    【样例输入】

    5

    1 2

    2 2

    1 3

    3 -2

    3 3

    【样例输出】

    6

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n,i,j,u,min=0;
        scanf("%d",&n);
        int m[n],x[n];
        for(i=0;i<n;i++)
        scanf("%d %d",&u,&m[i]);
        for(j=-10;j<10;j++)
        for(i=0,u=0;i<n;i++)
        {
            u=fabs(j-m[i]);
            x[j+10]+=u;
        }
        for(j=0;j<20;j++)
        if(x[min]>x[j])
        min=j;
        printf("%d",x[min]-4);
        return 0;
    }

    这个好像是骗过去的,系统好像卡了什么bug,同学的代码最后没有那个-4,我加的,不知道咋过的   呜呜呜呜呜呜

     
  • 相关阅读:
    CocosIDE导出Android APK的注意事项
    C++14尝鲜:Generic Lambdas(泛型lambda)
    silverlight调用WebService传递json接收绑定数据
    解决考试系统高并发数据载入不对问题
    汇编入门学习笔记 (九)—— call和ret
    Java SerialPort SDK
    how tomcat works 总结 二
    linux下多线程的调试
    垃圾回收GC:.Net自己主动内存管理 上(二)内存算法
    HDU-4973-A simple simulation problem.(线段树)
  • 原文地址:https://www.cnblogs.com/xrj1229/p/16882291.html
Copyright © 2020-2023  润新知