这道题数据不大
两点距离用勾股定理求
#include<iostream>
#include<cmath>
using namespace std;
struct node{
int x,y;
}p[100001];
int n;
double dis(node a,node b){//勾股定理函数
double x=abs(a.x-b.x),y=abs(a.y-b.y);
return sqrt(x*x+y*y);
}
double mini=0x7fffffff;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d",&p[i].x,&p[i].y);
for(int j=i-1;j>=1;j--){
mini=min(mini,dis(p[i],p[j]));//一边输入一边搜
}
}
printf("%.4f\n",mini);
}