良乡供暖站 (曼哈顿距离)

news/2024/11/25 4:33:45/

若干年以后,良乡校区已经全部建设完毕。有许多的建筑和道路,它们纵横交错形成一个 ​n x m 的棋盘式网状布局。这个棋盘中的每一个横行和纵行均为一条道路,在某些道路交叉点上具有一栋建筑。每一栋建筑可以由一个二维坐标 ​(x,y) 表示,表示这一栋建筑处于第 ​ x 横行、第 y ​纵行的两条道路的交叉点上。

现在,良乡要在某一个道路交叉点上(可能已经有建筑)新建立一个供暖站。新的供暖站将修建供热管道到已有的每一栋建筑。为了方便维修,供暖管道只能直接修建在道路之下。为了最小化成本,良乡管理处想要让要修建的管道的总长度最小。

假定这个道路“棋盘”是单位均匀的(也就是每一个交叉点到相邻的四个交叉点之间的距离均为1)。现在良乡管理处想要知道,他们最少需要修建多长的管道。

输入描述

输入文件第一行为一个整数N [1,100 000] ​,表示已有建筑的数量。

接下来的 ​ N 行,每行包含两个以空格分隔的整数 ​x 和 y [-1 000 000 000, 1 000 000 000] ​ ​,分别表示每一栋建筑的坐标。

输出描述

输出一行一个整数表示需要新修建的管道的最短长度。

样例说明

对于第一组测试用例,供暖站应该建在坐标 (0, 0) 处,其到三个已有建筑的距离分别为 2, 2, 0,因此总距离为 4;

对于第二组测试用例,供暖站直接建在 (50, 50) 处即可。

 

 测试输入关于“测试输入”的帮助期待的输出关于“期待的输出”的帮助时间限制关于“时间限制”的帮助内存限制关于“内存限制”的帮助额外进程关于“{$a} 个额外进程”的帮助
测试用例 1以文本方式显示
  1. 3↵
  2. 0 2↵
  3. 2 0↵
  4. 0 0↵
以文本方式显示
  1. 4↵
1秒64M0
测试用例 2以文本方式显示
  1. 1↵
  2. 50 50↵
以文本方式显示
  1. 0↵
1秒64M0

 

#include<stdio.h>  
#include<math.h>  
void merge(int b[],int n1,int c[],int n2,int a[],int n)  
{  int i=0,j=0,k=0,u;  while(i<n1&&j<n2)  {  if(b[i]<=c[j])  {  a[k]=b[i];  i++;  }  else  {  a[k]=c[j];  j++;   }  k++;  }  if(i==n1)  {  for(u=k;u<n;u++,j++) a[u]=c[j];  }  else  {  for(u=k;u<n;u++,i++) a[u]=b[i];  }  
}  void mergesort(int a[],int n)  
{  int i;  int n1,n2;  n1=floor((float)n/2);  n2=ceil((float)n/2);  if(n>1)  {  int b[n1],c[n2];  for(i=0;i<n1;i++)    b[i]=a[i];  for(i=0;i<n2;i++)    c[i]=a[i+n1];  mergesort(b,n1);  mergesort(c,n2);  merge(b,n1,c,n2,a,n);  }  
}  
int main(){  int n,i;  scanf("%d",&n);  int a[n],b[n],mid;  long long x=0,y=0;  for(i=0;i<n;i++)  {  scanf("%d%d",&a[i],&b[i]);  }  if(n==1)   {  printf("0\n");  return 0;  }  mergesort(a,n);  mergesort(b,n);  mid=n/2;  for(i=0;i<n;i++) x+=abs(a[i]-a[mid]);  for(i=0;i<n;i++) y+=abs(b[i]-b[mid]);  printf("%ld\n",x+y);  
}  

 


http://www.ppmy.cn/news/520723.html

相关文章

郑州建站公司汇总

郑州网站建设&#xff0c;了解到的有下面几家。 凯格电子科技 郑州凯格电子科技有限公司专业从事网站建设、电商方案、小程序开发、微信公众号开发及APP开发等业务&#xff0c;为客户提供一站式品牌策划、创意设计、开发及托管等服务。 经营范围 APP开发、微信小程序开发、网…

郑州哈尔滨,太多的感触...........................

终于回到了学校了&#xff0c;郑州火车站真是垃圾&#xff0c;买了车票不让上车&#xff0c;排队的民工又多&#xff0c;还得我连票都没有退掉&#xff0c;没办法&#xff0c;只好跟导员打个电话请假&#xff0c;又买了一张9号的票。从2号到9号还有一周&#xff0c;郑州是不能呆…

郑州网站空间报价

域 名 费 用 备 注 CN英文域名注册 80元&#xff0f;个&#xff0f;年 .cn/.com.cn/.net.cn/.org.cn/.gov.cn/.bj.cn COM国际域名注册 100元&#xff0f;个&#xff0f;年 .com/.net/.org CNNIC中文通用域名 280元&#xff0f;个&#xff0f;年 .中国/.公司/.网络 国际中文域…

掀起你的盖头来-暖气维修记!

冬天来了&#xff0c;尤其在北方的冬天还是蛮冷的&#xff0c;今年的冬天在自家过&#xff0c;由于习惯了北方的冷&#xff0c;也到没有觉得什么&#xff0c;可是最近晚上家里温度实在有些冷。 摸了摸暖气&#xff0c;在外面感觉不到温度&#xff0c;昨天联系到物业&#xff0c…

电动取暖器、加热器、暖风机UL 1278

亚马逊美国站要求所有小型取暖器均经过检测&#xff0c;并且符合下列特定法规或标准要求&#xff1a; 小型取暖器 UL 1278 ●由 ISO 17025 认证实验室出具的检测报告&#xff0c;确认每件商品均已经过检测&#xff0c;符合上述适用要求。 加拿大站要求 便携式电加热器 CSA C22.…

国标暖通图集大全 电子版

适用范围 本图集适用于新建、改建、扩建的民用和工业建筑中采用非金属风管的通风、空调工程。 可供从事通风与空调工程风管系统的设计、施工人员选用;同时也可供建设单位、监理单位的人员监督工程质量、配合规范使用。 编制内容 本图集包含以下几方面内容:目录、编制说明、…

郑州看房

明天花园 http://newhouse.zz.soufun.com/house/2510107854.htm 琥珀二期 http://newhouse.zz.soufun.com/house/2510175583.htm

最新郑州火炬路线图

郑州市火炬传递路线和时间&#xff08;最新&#xff09; 7月25日奥运火炬进入河南传递第一站郑州  根据北京奥组委奥运火炬传递活动河南组委会的名额分配&#xff0c;郑州市火炬手为113名&#xff0c;加上北京奥组委、中国奥委会、赞助商以及河南省推荐的95名&#xff0c;共2…