HDU 1173 采矿

Posted Schenker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1173 采矿相关的知识,希望对你有一定的参考价值。

采矿

题解:如果给你一条线段(左右端点设为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 采矿的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 1173A Nauuo and Votes

cf1173 D. Nauuo and Circle

XDOJ_1173_博弈

LightOJ - 1173 - The Vindictive Coachf(DP)

Codevs 1173 最优贸易

杭电acm 1173