第六章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,我加的,不知道咋过的   呜呜呜呜呜呜

 
posted @   aquAAA  阅读(287)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示