⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gee1007.java

📁 研究生入学考试题
💻 JAVA
字号:

import java.awt.Point;
import java.io.BufferedReader;
import java.io.IOException;

public class GEE1007
{
    public static void main(String args[])
    {
        java.io.BufferedReader bin = new BufferedReader(
                new java.io.InputStreamReader(System.in));
        Point pointArray[] = new Point[100];
        boolean isEnd = false;
        try
        {
            String temp = bin.readLine();
            int x = Integer.parseInt(temp.substring(0, temp.indexOf(' ')));
            temp = temp.substring(temp.indexOf(' ') + 1);
            int y = Integer.parseInt(temp);
            int index = 0;
            int length;
            while (true)
            {
                if (x == 0 && y == 0)
                {
                    if (isEnd)
                        return;
                    else
                    {
                        isEnd = true;
                        length = index;
                        calculate(pointArray, length);
                    }
                }
                else
                {
                    if (isEnd)
                    {
                        isEnd = false;
                        index = 0;
                        pointArray[index++] = new Point(x, y);
                    }
                    else
                    {
                        pointArray[index++] = new Point(x, y);
                    }
                }
                temp = bin.readLine();
                x = Integer.parseInt(temp.substring(0, temp.indexOf(' ')));
                temp = temp.substring(temp.indexOf(' ') + 1);
                y = Integer.parseInt(temp);
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    static void calculate(Point[] pointArray, int length)
    {
        double maxDistance = -1;
        Point start = null, end = null;
        int min_x, min_y, max_x, max_y;
        for (int i = 0; i < length; ++i)
            for (int j = 0; j < length; ++j)
            {
                if (pointArray[i].distance(pointArray[j]) > maxDistance)
                {
                    maxDistance = pointArray[i].distance(pointArray[j]);
                    start = pointArray[i];
                    end = pointArray[j];
                }
            }
        min_x = (int) (start.getX() < end.getX() ? start.getX() : end.getX());
        min_y = (int) (start.getY() < end.getY() ? start.getY() : end.getY());
        max_x = (int) (start.getX() > end.getX() ? start.getX() : end.getX());
        max_y = (int) (start.getY() > end.getY() ? start.getY() : end.getY());
        for (int i = 0; i < length; ++i)
        {
            if (pointArray[i].getX() < min_x)
                min_x = (int) pointArray[i].getX();
            if (pointArray[i].getY() < min_y)
                min_y = (int) pointArray[i].getY();
            if (pointArray[i].getX() > max_x)
                max_x = (int) pointArray[i].getX();
            if (pointArray[i].getY() > max_y)
                max_y = (int) pointArray[i].getY();

        }
        System.out.print((int) min_x + " ");
        System.out.print((int) min_y + " ");
        System.out.print((int) max_x + " ");
        System.out.println((int) max_y);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -