给定平面上 n个点,找出其中的一对点的距离,使得在这 n个点的所有点对中,该距离为所有点对中最小的。
第一行一个整数 n,表示点的个数。
接下来 n行,每行两个实数 x,y ,表示一个点的行坐标和列坐标。
仅一行,一个实数,表示最短距离,四舍五入保留5位小数。
3 1 1 1 2 2 2
1.00000
- #include
- using namespace std;
- vector
long long,long long> >a; - long long n,x,y;
- double ans=DBL_MAX,d;
- double dis(long long x,long long y,long long xx,long long yy){
- return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
- }
- int main(){
- cin>>n;
- for(int i=0;i
- cin>>x>>y;
- a.push_back(make_pair(x,y));
- }
- for(int i=0;i
- for(int j=i+1;j
- d=dis(a[i].first,a[i].second,a[j].first,a[j].second);
- ans=min(ans,d);
- }
- }
- printf("%.5lf",ans);
- return 0;
- }
- /**************************************************************
- Problem: 5232
- User: yangrenrui
- Language: C++
- Result: 正确
- Time:24 ms
- Memory:2180 kb
- ****************************************************************/
-
相关阅读:
Leetcode1793. Maximum Score of a Good Subarray
【EI会议征稿通知】2024年人工智能与电力系统国际学术会议(AIPS 2024)
庖丁解牛:NIO核心概念与机制详解 01 _ 入门篇
【flask】服务端获取客户端请求的文件
138. 随机链表的复制
数据填报系统究竟是买还是自研呢?_光点科技
【HTML——奇幻彩色粒子】(效果+代码)
最小生成树
从 Windows 切换到 Mac,这些不能错过的 Tips
信息化发展28
-
原文地址:https://blog.csdn.net/yangrenrui/article/details/136353696