https://www.acmicpc.net/problem/9063
9063번: 대지
첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다.
www.acmicpc.net
풀이
#include <stdio.h>
int main() {
int n, x, y;
// x축의 최댓값과 최솟값
int xmin = 10001, xmax = -10001;
// y축의 최댓값과 최솟값
int ymin = 10001, ymax = -10001;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %d", &x, &y);
if (xmax < x) xmax = x; // x최대
if (xmin > x) xmin = x; // x최소
if (ymax < y) ymax = y; // y최대
if (ymin > y) ymin = y; // y최소
}
// x변 * y변 = 넓이
printf("%d\n", (xmax - xmin) * (ymax - ymin));
return 0;
}
점들이 감싸는 직사각형의 넓이만 구하는게 문제의 목표
그렇기에 각 축의 최댓값과 최솟값을 구하여 빼고 서로 곱하면 원하는 답을 출력할 수 있다.
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/10101/C언어] 삼각형 외우기 _ 풀이 (0) | 2023.09.01 |
---|---|
[백준/2869/C언어] 달팽이는 올라가고 싶다 _ 풀이 (0) | 2023.08.31 |
[백준/2581/C언어] 소수 _ 풀이 (2) | 2023.08.28 |
[백준/1978/C언어] 소수찾기 _ 풀이 (2) | 2023.08.28 |
[백준/11943/C언어] 파일 옮기기 _ 풀이 (0) | 2023.08.27 |