C/C++_log2000_2017春季算法实验1_2
来源:互联网 发布:教务办公平台软件 编辑:程序博客网 时间:2024/04/29 12:57
[分治]-输油管道问题
Description
某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n 口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n 口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置, 即使各油井到主管道之间的输油管道长度总和最小的位置?给定n 口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。
Input
首行为油井数量n,其他行为每口油井的横坐标xi,纵坐标yi
Output
油井到主管道之间的输油管道最小长度总和。
Sample Input
5
1 2
3 5
3 7
3 4
2 7
Sample Output
8
asw:
#include <stdio.h>#include <math.h>#define M 100void F(int n,int y[M]){ int b=y[n-1]; int i; for(i=0;i<n-1;i++){ if(y[i]>b){ b=y[i]; y[i]=y[n-1]; y[n-1]=b; } } if(n>2){ F(n-1,y); }}int main(){ int n,a; int p=0; int i; int x[M],y[M]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d %d",&x[i],&y[i]); F(n,y); a=n/2; for(i=0;i<n;i++) p += fabs(y[a]-y[i]); printf("%d",p); return 0;}
阅读全文
0 0
- C/C++_log2000_2017春季算法实验1_2
- C/C++_log2000_2017春季算法实验2_2
- C/C++_log2000_2017春季算法实验1_1
- C/C++_log2000_2017春季算法实验1_3
- C/C++_log2000_2017春季算法实验2_1
- C/C++_log2000_2017春季算法实验2_3
- Dissection C Chapter 1_2
- C 笔记_2
- [C++_8]继承_2
- c/c++补充_2
- 初学C#_2
- C语言_2
- C语言心得_2
- C语言基础_2
- Effective C++_2
- 重学c语言_2
- C/C++笔试题_2
- c++_2: 类的定义
- Android
- wxPython:调用OCR模块实现图片识别
- POJ-3669广度优先搜索
- 网站静态化处理—CSI(5)
- Adaboost 算法
- C/C++_log2000_2017春季算法实验1_2
- 使用CSS3的@media来编写响应式的页面
- py-faster-rcnn流程(2)——训练RPN网络一阶段
- 关于凸优化
- 嵌入式软件开发--03ad
- SearchLookUpEdit和 GridLookUpEdit
- 网站静态化处理—前后端分离—上(6)
- Kotlin对比Java——高效Android开发语言,值得一探究竟......
- CodeForces149D-Coloring Brackets