[编程题] 最小的矩形

2017-04-06  本文已影响0人  yuanxiaolan

牛牛在二维坐标系中画了N个点,且都是整点。现在牛牛想画出一个矩形,使得这N个点都在矩形内或者在矩形上。
矩形的边均平行于坐标轴。牛牛希望矩形的面积最小。请你帮助牛牛计算下最小矩形的面积。
输入描述:
首先输入一个正整数N表示点的个数(2 <= N <= 50)

接下来N行每行两个整数x, y,表示该点的坐标。绝对值均小于等于100.

输出描述:
一个整数表示最小矩形的面积。

输入例子:
2
0 1
1 0

输出例子:
1

import java.util.Scanner;
 
public class Main {
    public static void main(String arg[]){
        Scanner sc=new Scanner(System.in);  
        int N=sc.nextInt();
        int[] b=new int[N];
        int[] c=new int[N];
        String st=sc.nextLine();
        for(int i=0;i<N;i++){
             
            String str=sc.nextLine();
            String[] a=str.split(" ");      
            b[i]=Integer.parseInt(a[0]);
            c[i]=Integer.parseInt(a[1]);
        }       
         
        int minx=b[0];
        int maxx=b[0];
        int miny=c[0];
        int maxy=c[0];
        int width=0;
        int height=0;
        for(int i=0;i<N;i++){
            if(minx<b[i])
                minx=b[i];
            if(maxx>b[i])
                maxx=b[i];
        }
        width=maxx-minx;
        for(int i=0;i<N;i++){
            if(miny<c[i])
                miny=c[i];
            if(maxy>c[i])
                maxy=c[i];
        }
        height=maxy-miny;
        System.out.println(width*height);
         
    }
}
上一篇下一篇

猜你喜欢

热点阅读