你们发的都太复杂了,我的才是最优解
2025-09-30 21:35:27
发布于:上海
5阅读
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;
}
全部评论 1
%%%
2025-10-03 来自 上海
0











有帮助,赞一个