기하: 바운딩 사각형
DESCRIPTION
좌표축에 정렬된 바운딩 사각형은 2차 좌표계의 n개의 점이 주어졌을때, 사각형의 각 변이 X와 Y축에 평행하면서 주어진 n개의 점을 포함하는 최소 크기의 사각형을 말한다. 2차 좌표계의 n개의 점이 주어졌을 때 그림 10.24d에 보이는 것처럼 바운딩 사각형을 구하는 프로그램을 만들어 보자.
A axis-aligned bounding rectangle is the minimum rectangle that encloses a set of points in a two-dimensional plane, as shown in Figure 10.24d.
INPUT
-
Line 1 : 점의개수 N (1~1,000)
-
Line 2 ~ N+1 : 점의 x y 좌표 (공백으로 구분된 2개의 실수)
OUTPUT
-
Line 1 : 샘플 출력처럼 사각형의 중심을 출력
-
Line 2 : 샘플 출력처럼 사각형의 width와 height를 출력
SAMPLE CODE
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
double[][] points = new double[N][2];
for (int i = 0; i < N; i++) {
points[i][0] = sc.nextDouble();
points[i][1] = sc.nextDouble();
}
MyRectangle2D boundingRectangle = MyRectangle2D.getRectangle(points);
System.out.printf("x, y: %.1f, %.1f\n", boundingRectangle.getX(), boundingRectangle.getY());
System.out.printf("w, h: %.1f, %.1f\n", boundingRectangle.getWidth(), boundingRectangle.getHeight());
}
}
YOUR_CODE
SAMPLE INPUT
3
3 1
-5 -5
0 7
SAMPLE OUTPUT
x, y: -1.0, 1.0
w, h: 8.0, 12.0
Comments