题解
2026-08-24 11:05:32
发布于:浙江
3阅读
0回复
0点赞
代码如下、
#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
double x,y;
}a[200005];
double cnt(double x,double y,double xx,double yy){
return sqrt(abs(x-xx)*abs(x-xx)+abs(y-yy)*abs(y-yy));
}
bool cmp(node aa,node bb){
if(aa.x!=bb.x)return aa.x<=bb.x;
else return aa.y<=bb.y;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}
sort(a+1,a+1+n,cmp);
double mn=1e18;
for(int i=1;i<n-1;i++){
mn=min(mn,cnt(a[i].x,a[i].y,a[i+1].x,a[i+1].y));
mn=min(mn,cnt(a[i].x,a[i].y,a[i+2].x,a[i+2].y));
}
printf("%.4f",mn);
return 0;
}
这里空空如也






有帮助,赞一个