Pagini recente » Cod sursa (job #1064763) | Cod sursa (job #2117611) | Cod sursa (job #237287) | Cod sursa (job #931315) | Cod sursa (job #763242)
Cod sursa(job #763242)
Program adapost2;
const eps=0.0001;
var x,y:array [1..50000] of real;
p1,p2,s,pas:real;
b1:array [1..1 shl 16] of char;
i,n:longint;
fi,fo:text;
function distanta(a,b:real):real;
var s:real;
begin
s:=0;
for i:=1 to n do s:=s+sqrt( (x[i]-a)*(x[i]-a)+(y[i]-b)*(y[i]-b) );
distanta:=s;
end;
begin
assign(fi,'adapost2.in');
assign(fo,'adapost2.out');
settextbuf(fi,b1);
reset(fi); rewrite(fo); readln(fi,n);
for i:=1 to n do begin
readln(fi,x[i],y[i]);
p1:=p1+x[i]; p2:=p2+y[i];
end;
p1:=p1/n; p2:=p2/n; s:=distanta(p1,p2); pas:=500;
while pas>eps do begin
if s>distanta(p1,p2+pas) then begin p2:=p2+pas; s:=distanta(p1,p2); end;
if s>distanta(p1,p2-pas) then begin p2:=p2-pas; s:=distanta(p1,p2); end;
if s>distanta(p1+pas,p2) then begin p1:=p1+pas; s:=distanta(p1,p2); end;
if s>distanta(p1-pas,p2) then begin p1:=p1-pas; s:=distanta(p1,p2); end;
pas:=pas/1.7;
end;
write(fo,p1:0:4,' ',p2:0:4);
close(fo);
end.