https://www.acmicpc.net/problem/9063
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n;
cin >> n;
int arr[n][2];
for (int i=0;i<n;i++){
cin >> arr[i][0] >> arr[i][1];
}
int xmin = arr[0][0];
int xmax = arr[0][0];
int ymin = arr[0][1];
int ymax = arr[0][1];
for (int i=0;i<n;i++){
if(xmin > arr[i][0]){
xmin = arr[i][0];
}
if (xmax < arr[i][0]){
xmax = arr[i][0];
}
if (ymin > arr[i][1]){
ymin = arr[i][1];
}
if (ymax < arr[i][1]){
ymax = arr[i][1];
}
}
int answer = (xmax - xmin) * (ymax - ymin);
cout << answer;
}
n개 만큼 좌표가 주어질 때, 이 좌표들을 둘러싸는 가장 작은 크기의 직사각형의 크기를 구하는 문제이다.
간단하게 생각해보면, 주어진 좌표들을 모두 둘러싸야 하므로,
가장 큰 x좌표 - 가장 작은 x좌표 == 가로 길이,
가장 큰 y좌표 - 가장 작은 y좌표 == 세로 길이
가 되는 것이다.
'알고리즘 > 백준' 카테고리의 다른 글
백준 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 [C++] (1) | 2023.12.07 |
---|---|
백준 14215번 세 막대 [C++] (1) | 2023.12.07 |
백준 15894번 수학은 체육과목 입니다 [C++] (1) | 2023.12.05 |
백준 3009번 네 번째 점 [C++] (1) | 2023.12.04 |
백준 1085번 직사각형에서 탈출 [C++] (0) | 2023.12.02 |