POJ 2693 最远距离
- 时间限制:
- 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)、可能出错:略