Pagini recente » Cod sursa (job #2822395) | Cod sursa (job #1722188) | Cod sursa (job #2217913) | Cod sursa (job #1660292) | Cod sursa (job #763238)
Cod sursa(job #763238)
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:=600;
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/2;
end;
write(fo,p1:0:4,' ',p2:0:4);
close(fo);
end.