문제

한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 문제의 정답을 출력한다.

 

4개의 변중 가장 가까운 곳의 거리를 찾아내면 된다.

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
using System;
using System.Linq;
 
class Program
{
    static void Main(string[] args)
    {
        int[] arrInput = Console.ReadLine().Split().Select(n => int.Parse(n)).ToArray();
        int A;
        int B;
        if(arrInput[0<= arrInput[2/ 2)
        {
            A = arrInput[0];
        }
        else
        {
            A = arrInput[2- arrInput[0];
        }
        if(arrInput[1<= arrInput[3/ 2)
        {
            B = arrInput[1];
        }
        else
        {
            B = arrInput[3- arrInput[1];
        }
        
        Console.WriteLine(A > B ? B : A);
    }
}
cs

 

https://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

 

+ Recent posts