题解 P1257 【平面上的最接近点对】
这题的第一个c++题解……
n<=10000,所以n^2还是能卡过……
#include<cstdio>
#include<cmath>
using namespace std;
int n,x[10009],y[10009];
double ans=23333333;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++){scanf("%d%d",&x[i],&y[i]);}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]))<ans){ans=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));}
}
}
printf("%.4lf",ans);
return 0;
}