Pagini recente » Cod sursa (job #1978659) | Cod sursa (job #651177) | Cod sursa (job #678547) | bulina2014alex | Cod sursa (job #1054149)
#include<fstream>
#include<iomanip>
#include<cmath>
using namespace std;
typedef struct { double x,y; } punct;
int n,i;
punct a[50005];
double px,py;
double dist(double x, double y) {
double rez=0;
for (int i=1; i<=n; ++i) rez+=sqrt( (x-a[i].x)*(x-a[i].x) + (y-a[i].y)*(y-a[i].y) );
return(rez);
}
int main(void) {
ifstream fin("adapost2.in");
ofstream fout("adapost2.out");
fin>>n;
for (i=1; i<=n; ++i) {
fin>>a[i].x>>a[i].y;
px+=a[i].x; py=a[i].y;
}
px/=n; py/=n; double prec=5, s=dist(px,py);
while (prec>=0.0001) {
if (dist(px,py-prec)<s) { s=dist(px,py-prec); py-=prec; continue; }
if (dist(px,py+prec)<s) { s=dist(px,py+prec); py+=prec; continue; }
if (dist(px+prec,py)<s) { s=dist(px+prec,py); px+=prec; continue; }
if (dist(px-prec,py)<s) { s=dist(px-prec,py); px-=prec; continue; }
prec/=2;
}
fout<<setprecision(4)<<fixed<<px<<" "<<py;
return(0);
}