Pagini recente » Cod sursa (job #408179) | Cod sursa (job #2502236) | Cod sursa (job #2265289) | Cod sursa (job #238139) | Cod sursa (job #2593978)
#include <bits/stdc++.h>
using namespace std;
ifstream f("adapost2.in");
ofstream g("adapost2.out");
int n;
float x[50005],y[50005],pas,ind1,ind2,suma;
bool OK;
float ad(float a,float 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;
float di[4]={0,0,pas,-pas};
float dj[4]={pas,-pas,0,0};
float ni,nj;
while(OK==1){
OK=0;
for(int directie=0;directie<4;directie++){
ni=ind1+di[directie];
nj=ind2+dj[directie];
float 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;
}