P1257 平面上的最接近点对
2018-06-17 22:25:43来源:未知 阅读 ()
题目描述
给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的
输入输出格式
输入格式:第一行:n;2≤n≤200000
接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。
输出格式:仅一行,一个实数,表示最短距离,精确到小数点后面4位。
输入输出样例
3 1 1 1 2 2 2
1.0000
说明
0<=x,y<=10^9
暴力水过。。。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<cstdlib> 6 using namespace std; 7 const int MAXN=10001; 8 void read(int & n) 9 { 10 char c='+';int x=0; 11 while(c<'0'||c>'9')c=getchar(); 12 while(c>='0'&&c<='9') 13 { 14 x=x*10+(c-48); 15 c=getchar(); 16 } 17 n=x; 18 } 19 int n; 20 struct node 21 { 22 int x; 23 int y; 24 }a[MAXN]; 25 double ans=12700000; 26 int main() 27 { 28 read(n); 29 for(int i=1;i<=n;i++) 30 { 31 read(a[i].x); 32 read(a[i].y); 33 } 34 for(int i=1;i<=n;i++) 35 { 36 for(int j=i+1;j<=n;j++) 37 { 38 double p=sqrt((fabs(a[j].x-a[i].x)*fabs(a[j].x-a[i].x))+(fabs(a[j].y-a[i].y)*fabs(a[j].y-a[i].y))); 39 if(p<ans) 40 ans=p; 41 } 42 } 43 printf("%.4lf",ans); 44 return 0; 45 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:红色的幻想乡
- #leetcode刷题之路16-最接近的三数之和 2019-03-12
- .net 刷新页面防止表单二次提交 2018-06-18
- 1062. 计算曼哈顿距离 2018-06-17
- P1774 最接近神的人_NOI导刊2010提高(02) 2018-06-17
- P1429 平面最近点对(加强版) 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash