题解 P1257 【平面上的最接近点对】

· · 题解

直接用n方算法过。数据真的很水。(膜拜一下洛谷的神奇的评测机)

距离公式应该都知道是:sqrt((x1-x2)^2+(y1-y2)^2)

var
  n,i,j:longint;
  min,k:real;
  a,b:array[1..100000] of longint;
begin
  readln(n);
  for i:=1 to n do begin
    readln(a[i],b[i]);
  end;
  min:=maxlongint;
  for i:=1 to n do begin
    for j:=1 to n do begin
      if i=j then min:=min;
      if (i<>j) then begin
        k:=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
        if k<min then min:=k
      end;
    end;
  end;
  writeln(min:1:4);
end.