标签:
Input
Output
Sample Input
4 0 0 0 10000 10000 10000 10000 0
Sample Output
28284
/*
三分里面的三分
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
struct edge{
double x, y;
}a[110];
const double inf = 1e9 + 100;
double dis, diss;
int n;
double checky(double x, double y)
{
double dis = 0;
for(int i = 1; i <= n; i++){
dis += sqrt((x - a[i].x)*(x - a[i].x) + (y - a[i].y)*(y - a[i].y));
}
return dis;
}
double checkx(double x)
{
double ly = -inf, ry = inf;
for(int i = 1; i <= 100; i++){
double midy = (ly + ry)/2;
double midmidy = (ry + midy)/2;
if(checky(x, midy) > checky(x, midmidy))
ly = midy;
else ry = midmidy;
diss = min(checky(x, midy), checky(x , midmidy));
}
return diss;
}
int main()
{
while(~scanf("%d", &n)){
diss = inf;
for(int i = 1; i <= n ; i++)
scanf("%lf%lf", &a[i].x, &a[i].y);
double lx = -inf, rx = inf;
for(int i = 1; i <= 100; i++){
double midx = (lx + rx)/2;
double midmidx = (rx + midx)/2;
if(checkx(midx) > checkx(midmidx))
lx = midx;
else rx = midmidx;
}
//printf("%f %f\n", lx, rx);
printf("%.0f\n", diss);
}
return 0;
}
POJ2420——三分——A Star not a Tree?
标签:
原文地址:http://www.cnblogs.com/zero-begin/p/4694178.html