给定平面上 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
- ****************************************************************/
-
相关阅读:
Clickhouse MergeTree原理(二)—— 表和分区的维护
源码学习之Spring容器创建原理
Appium学习日记(一)——Appium工作原理及其主要组件
Centos - VXLAN 网桥
【css】css奇数、偶数、指定数选择器:
Kamiya丨Kamiya艾美捷小鼠高敏CRP ELISA说明书
晶振工作原理详解
Mybatis 拦截器/插件 内注入bean的问题解决
程序员们有什么好的编程习惯?
[车联网安全自学篇] 四十八. Android安全之聊聊Drozer模块插件
-
原文地址:https://blog.csdn.net/yangrenrui/article/details/136353696