728x90
반응형
문제 링크 : https://www.acmicpc.net/problem/1085
목차
1. 설명
2. 내 코드
3. 문제 풀이 해석 내용
4. 실행 결과
설명
백준 브론즈 3 문제 입니다.
문제명 : 직사각형에서 탈출
옛날에 풀고 블로그 작성까지 했었던 문제이지만, c++로 다시 풀어보았습니다.
내 코드
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
std::cout.tie(NULL);
int x, y, w, h;
cin >> x >> y >> w >> h;
int array[4];
array[0] = h - y;
array[1] = y;
array[2] = w - x;
array[3] = x;
int result = *min_element(array, array + 4);
cout << result << endl;
}
문제 풀이 해석 내용
변수 선언 및 입력 처리
int x, y, w, h;
cin >> x >> y >> w >> h;
x, y: 점의 좌표를 나타냅니다.
w, h: 직사각형의 너비와 높이를 나타냅니다.
사용자로부터 이 네 개의 값을 입력받습니다.
거리 계산
int array[4];
array[0] = h - y;
array[1] = y;
array[2] = w - x;
array[3] = x;
array 배열을 사용하여 각 경계까지의 거리를 저장합니다:
array[0]: 점 (x, y)에서 위쪽 경계까지의 거리 (h - y).
array[1]: 점 (x, y)에서 아래쪽 경계까지의 거리 (y).
array[2]: 점 (x, y)에서 오른쪽 경계까지의 거리 (w - x).
array[3]: 점 (x, y)에서 왼쪽 경계까지의 거리 (x).
최소 거리 계산 및 출력
int result = *min_element(array, array + 4);
cout << result << endl;
min_element 함수를 사용하여 array 배열에서 최소값을 찾습니다.
계산된 최소 거리를 result에 저장하고, 이를 출력합니다.
실행 결과
'c++' 카테고리의 다른 글
백준 c++ 1157 문제 풀이 (0) | 2025.04.13 |
---|---|
백준 c++ 1978 문제 풀이 (0) | 2025.04.12 |
백준 c++ 27433 문제 풀이 (0) | 2025.04.10 |
백준 c++ 10870 문제 풀이 (0) | 2025.04.09 |
백준 c++ 18870 문제 풀이 (0) | 2025.04.08 |