码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1173 采矿

时间:2018-02-23 17:08:17      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:while   col   print   http   pid   include   color   定制   targe   

采矿

题解:如果给你一条线段(左右端点设为A,B), 那么在这条线上的任意一点到A B距离之和是一个定值, 然后如果再这条线段内在任意确定一个定点C, 那么这条线段上再任意取一个点,这个点到 A B C距离最小的点是和C点重合的位置, 因为AB距离为定制。

所以给你一堆点在一条直线上, 那么所有距离之和小就是最中间的点。

代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double x[1000005],y[1000005];
 4 int main()
 5 {
 6     int t;
 7     while(~scanf("%d",&t)&&t)
 8     {
 9         for(int i = 0; i < t; i++)
10             scanf("%lf%lf",&x[i],&y[i]);
11         sort(x,x+t);
12         sort(y,y+t);
13         printf("%.2f %.2f\n",x[(t+1)/2],y[(t+1)/2]);
14     }
15     return 0;
16 }

 

HDU 1173 采矿

标签:while   col   print   http   pid   include   color   定制   targe   

原文地址:https://www.cnblogs.com/MingSD/p/8462354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!