이 문제는 n개의 좌표가 주어지고 해당 좌표들로 직사각형을 만들고 해당 직사각형의 넓이를 출려하면 되는 문제이다.
조건
위 조건을 만족하기 위해선 주어진 좌표들을 이용하여 만들어야 할 직사각형의 x, y의 최소값과 최대값을 구하면 된다.
#include <stdio.h>
int main() {
// n = 점의 개수, x & y = 입력받는 좌표값
// ix & iy = 입력받은 좌표들 중 x와 y의 최소값
// ox & oy = 입력받은 좌표들 중 x와 y의 최대값
int n, x, y, ix, iy, ox, oy;
// 점의 개수를 입력받는다.
scanf("%d", &n);
// 첫번째 점의 좌표를 입력받고 x,y의 최소값에 저장한다.
scanf("%d %d", &ix, &iy);
// x,y의 최대값에도 첫번째점의 좌표값을 넣는다.
ox=ix;
oy=iy;
// 처음 입력받은 점을 제외한 점의 개수만큼 반복
for(int i=0; i<n-1; i++) {
// 좌표를 이어서 받는다.
scanf("%d %d", &x, &y);
// 기존 x,y의 최소값보다 입력받은 좌표가 작다면 최소값을 변경
if(x < ix) ix=x;
if(y < iy) iy=y;
// 기존 x,y의 최대값보다 입력받은 좌표가 작다면 최대값을 변경
if(x > ox) ox=x;
if(y > oy) oy=y;
}
// 최대값과 최소값을 빼서 x면과 y면의 길이를 곱해 넓이를 출력
printf("%d", (ox-ix) * (oy-iy));
return 0;
}
이번 문제의 경우 좌표에 대한 이해만 있다면 쉽게 풀수 있을것이다.