-
时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
- 给定一组点(x,y),求距离最远的两个点之间的距离。 输入
-
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
-
输出一行是最远两点之间的距离。
使用printf("%.4f\n", dis)输出距离值并精确到小数点后4位。
样例输入
-
634.0 23.028.1 21.614.7 17.117.0 27.234.7 67.129.3 65.1
样例输出
-
53.8516
(1)、源代码:
#include
<iostream>
#include
<cmath>
using
namespace
std;
int
main()
{
int
i, j, n, max, count = 0;
double
x[100], y[100];
double
dis[1000];
cin >> n;
for
(i = 0; i < n; i++)
cin >> x[i] >> y[i];
for
(i = 0; i < n-1; i++)
for
(j = i+1; j < n; j++)
dis[count++] = sqrt((x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j]));
max = 0;
for
(i = 0; i < n*(n-1)/2; i++)
if
(dis[i] > dis[max])
max = i;
cout << dis[max] << endl;
return
0;
}
(2)、解题思路:略
(3)、可能出错:略