티스토리 뷰
728x90
반응형
백준 온라인 저지(BOJ) 1085번 직사각형에서 탈출
https://www.acmicpc.net/problem/1085
* 사용언어 : C언어, C++
1. 문제
(x, y) 에 있는 한수가 (0, 0) ~ (w, h) 직사각형의 경계선까지 가는 최소값을 출력
2. 풀이
(0, 0), (w, 0), (0, h), (w, h) 의 네 꼭지점으로 이루어진 직사각형을 그려봅니다.
그리고 그 직사각형 내부에 있는 (x, y) 에 점을 하나 찍습니다.
그 상태에서 (x, y) 부터 직사각형의 각 경계선, 즉 4개의 선분 중
가장 가까운 선분까지의 거리를 출력하면 되는 문제입니다.
예제 입력을 보면서 자세히 살펴보겠습니다.
첫 번째 예제를 그림으로 표현하면 아래와 같습니다.
여기서 직사각형의 경계선까지의 거리의 최소값은 1이 됩니다. (위쪽, 즉 h - y)
두 번째 예제를 그림으로 표현하면 아래와 같습니다.
여기서 직사각형의 경계선까지의 거리의 최소값은 1이 됩니다. (왼쪽 혹은 아래쪽, 즉 x 혹은 y)
나머지 예제도 같은 방식으로 검토해보면
x, y, w - x, h - y 중 최소값이라는 것을 알 수 있습니다.
최소값을 찾고 출력하는 것에 대한 풀이는 아래 코드 참고하시면 됩니다.
3. 코드
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
/*
1085_직사각형에서 탈출
1112KB 0ms
*/
#include <cstdio>
int main() {
#ifdef _WIN32
freopen("input.txt", "r", stdin);
#endif // _WIN32
int x, y, w, h;
scanf("%d %d %d %d", &x, &y, &w, &h);
int min = x;
if (y < min) min = y;
if (w - x < min) min = w - x;
if (h - y < min) min = h - y;
printf("%d\n", min);
return 0;
}
728x90
반응형
'개발자 > 문제풀이 (C언어)' 카테고리의 다른 글
[백준/BOJ] 15894번 수학은 체육과목 입니다 (C/C++) (0) | 2023.05.31 |
---|---|
[백준/BOJ] 3009번 네 번째 점 (C/C++) (0) | 2023.05.30 |
[백준/BOJ] 27323번 직사각형 (C/C++) (0) | 2023.05.28 |
[백준/BOJ] 13226번 Divisors (C/C++) (0) | 2023.05.27 |
[백준/BOJ] 11653번 소인수분해 (C/C++) (0) | 2023.05.27 |
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JUNGOL
- 쿠프마케팅
- 나는늘잘해야한다고생각한다
- 문현공
- 인간본성불패의법칙
- 긴 자리 곱셈
- 자료구조
- 영화감상평
- 세상을 읽는 새로운 언어 빅데이터
- 센터독서클럽
- 최재천의공부
- 당신도느리게나이들수있습니다
- 동탄에듀센터
- 동탄에듀센터2
- 여가포인트
- 시대예보
- 호암의마지막꿈
- 자동차보험
- AdSendse
- 긴 자리 덧셈 뺄셈
- 알고리즘
- 원서잡아먹는영작문
- 삼성전자
- 자이언트임팩트
- 정세현의통찰
- 나의첫죽음학수업
- 안전운전특약
- 독서 감상평
- 독서감상평
- 정올
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함