백준문제풀이 10단계 기하: 직사각형과 삼각형(2) 1085번 직사각형에서 탈출 (C#)

2024. 6. 26. 20:00백준 문제풀이/10단계 기하: 직사각형과 삼각형

 

현수가 있는 x,y에서 직사각형의 경계까지에 최소 거리를 구하는 문제이다.

직사각형은 0,0 부터 w,h까지인 사각형이다.

 

using System;
class BackJoon
{
    static void Main(string[] args)
    {
        string[] input = Console.ReadLine().Split();
        int x = int.Parse(input[0]);
        int y = int.Parse(input[1]);
        int w = int.Parse(input[2]);
        int h = int.Parse(input[3]);
        int v = x;
        if (w - x < v)
            v = w - x;
        if (h - y < v)
            v = h - y;
        if (y < v)
            v = y;
        Console.WriteLine(v);
    }
}

 

최소값인 경우는 총 4가지이다.

x , y , w - x , h - y 

좌표축에 더 가깝다면 x나 y가 최소값이 될것이다.

일단 출력할 v에 x를 넣고 시작하자.

그리고 y , w - x , h - y와 각각 비교해서 가장 작은 값을 v에 넣는다.

 

v를 출력하면 끝