Pagini recente » Cod sursa (job #367676) | Cod sursa (job #2281213) | Cod sursa (job #139573) | Cod sursa (job #425265) | Cod sursa (job #196920)
Cod sursa(job #196920)
type punct=record
x,y:real;
end;
const dx:array[1..4] of real=(-1,0,1,0);
dy:array[1..4] of real=(0,1,0,-1);
var a:array[1..50001] of punct;
f,g:text;
n,i,j:longint;
w,auxx,auxy,t,d,x,y:real;
ok:boolean;
begin
assign(f,'adapost2.in'); reset(f);
assign(g,'adapost2.out'); rewrite(g);
read(f,n);
x:=0.0; y:=0.0;
for i:=1 to n do begin
read(f,a[i].x,a[i].y);
x:=x+a[i].x;
y:=y+a[i].y;
end;
x:=x/n; y:=y/n;
w:=100.0;
while w>0.001 do begin
d:=0.0;
for i:=1 to n do
d:=d+sqrt(sqr(a[i].x-x)+sqr(a[i].y-y));
ok:=true;
for i:=1 to 4 do begin
auxx:=x+w*dx[i];
auxy:=y+w*dy[i];
t:=0;
for j:=1 to n do
t:=t+sqrt(sqr(a[j].x-auxx)+sqr(a[j].y-auxy));
if t<d then begin
d:=t;
x:=auxx;
y:=auxy;
ok:=false;
break;
end;
end;
if ok then
w:=w/2;
end;
writeln(g,x:0:3,' ',y:0:3);
close(f); close(g);
end.