JavaStudy——0055:最远距离

总时间限制: 1000ms 内存限制: 65536kB

描述
给定一组点(x,y),求距离最远的两个点之间的距离。

输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用printf("%.4f\n", dis)输出距离值并精确到小数点后4位。

样例输入

6
34.0 23.0
28.1 21.6
14.7 17.1
17.0 27.2
34.7 67.1
29.3 65.1

样例输出

53.8516

Accepted代码

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int a=in.nextInt();
        ArrayList<Point> f=new ArrayList<Point>();
        for(int i=0;i<a;i++) {
            Point b=new Point(in.nextDouble(),in.nextDouble());
            f.add(b);
        }
        ArrayList<Double> arr=new ArrayList<Double>();
        for(int i=0;i<a;i++) {
            for(int j=i;j<a;j++) {
                double s=Math.pow(f.get(j).y-f.get(i).y,2)+Math.pow(f.get(j).x-f.get(i).x, 2);
                double dis=Math.sqrt(s);
                arr.add(dis);
            }
        }
        Collections.sort(arr);
        System.out.printf("%.4f\n",arr.get(arr.size()-1));
        in.close();
    }
}
class Point {
    public double x;
    public double y;
    public Point(double x, double y) {
        this.x=x;
        this.y=y;
    }
}

你可能感兴趣的:(OpenJudge,-,javastudy)