题解 AT184 【2点間距離の最大値 ( The longest distance )】

description:

给定n个点,求出两点之间最短距离

solution:

观察数据范围,发现 n 100 n\leq100 n100,所以之间 O ( n 2 ) O(n^2) O(n2)暴力即可。

这里要注意不要丢失精度,于是就全开double,最后输出6位就行了

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
double sqr(double x)
{
	return x*x; 
}
double x[1005],y[1005];
int main()
{
	double n;
	double ans=0;
	scanf("%lf",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lf%lf",&x[i],&y[i]);
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			ans=max(ans,sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])));
		}
	} 
	printf("%.6lf\n",ans);
	return 0;
} 
全部评论

相关推荐

青春运维少年不会梦到...:实习大王
点赞 评论 收藏
分享
轻絵梨花泪沾衣:南泵,大少爷驾到通通闪开
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务