Pagini recente » Cod sursa (job #203937) | Cod sursa (job #1227821) | Cod sursa (job #1473323) | Cod sursa (job #997591) | Cod sursa (job #2593979)
#include <bits/stdc++.h>
using namespace std;
ifstream f("adapost2.in");
ofstream g("adapost2.out");
int n;
double x[50005],y[50005],pas,ind1,ind2,suma;
bool OK;
double ad(double a,double b,int i){
return sqrt( (a - x[i])*(a - x[i]) + (b - y[i])*(b - y[i]) ) ;
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
f>>x[i]>>y[i];
pas=1000; ind1=0; ind2=0;
for(int i=1;i<=n;i++)
suma+=ad(ind1,ind2,i);
while(pas>=0.001){
pas/=10;
OK=1;
double di[4]={0,0,pas,-pas};
double dj[4]={pas,-pas,0,0};
double ni,nj;
while(OK==1){
OK=0;
for(int directie=0;directie<4;directie++){
ni=ind1+di[directie];
nj=ind2+dj[directie];
double s=0;
for(int i=1;i<=n;i++)
s+=ad(ni,nj,i);
if(s<suma){
OK=1;
suma=s;
ind1=ni;
ind2=nj;
}
}
}
}
g<<ind1<<" "<<ind2;
}