백준/백준 단계별 문제풀이

백준 1085번 (C++)

FDEE 2020. 8. 30. 22:08

www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.

www.acmicpc.net

 

 

<답안>

#include <iostream>
using namespace std;
int main()
{
    int x,y,w,h;
    int width1, width2, hight1, hight2;
    int result_w, result_h;
    cin>>x>>y>>w>>h;
    width1 = x;
    hight1 = y;
    width2 = w-x;
    hight2 = h-y;
    
    if(width1 < width2)
        result_w = width1;
    else
        result_w = width2;
    if(hight1 < hight2)
        result_h = hight1;
    else
        result_h = hight2;
    if(result_w < result_h)
        cout<<result_w;
    else
        cout<<result_h;
    return 0;
}

 

<설명>

x,y축까지의 거리 또는, w,h까지의 거리 중 가장 작은 값을 출력하면 되는 문제다

 

입력된 x,y값에서 x축, y축까지의 거리인 x, y 값을 width1, hight1으로 저장한다

입력된 x,y값에서 x=w, y=h 까지의 거리인 w-x, h-y 값을 width2, hight2로 저장한다

 

width1 과 width2 비교를 하여 작은값을 result_w 로 저장한다

hight1 과 hight2 비교를 하여 작은값을 result_h 로 저장한다

최종적으로 가장 작은값을 출력한다

 

'백준 > 백준 단계별 문제풀이' 카테고리의 다른 글

백준 4153번 (C++)  (0) 2020.08.30
백준 3009번 (C++)  (0) 2020.08.30
백준 9020번 (C++)  (0) 2020.08.30
백준 4948번 (C++)  (0) 2020.08.30
백준 1929번 (C++)  (0) 2020.08.29