[BAEKJOON] 백준 3053: 택시 기하학 (C#)

2024. 5. 11. 23:36IT/BaekJoon

문제 링크

https://www.acmicpc.net/problem/3053

 

 

문제

19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.

택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.

D(T1,T2) = |x1-x2| + |y1-y2|

두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.

따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.

원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합

반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오.

 

 

입력

첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다.

 

 

출력

첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.

 

 

 

통과한 답안

namespace _3053
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int R = int.Parse(Console.ReadLine());
            double euclid = R * R * Math.PI;
            double taxi = R * R * 2;

            Console.WriteLine(euclid.ToString("F6"));
            Console.WriteLine(taxi.ToString("F6"));
        }
    }
}

 

문제를 해결하는 능력보다 문제를 이해하는 능력이 필요한 문제로

이 문제에서 물어보는 개념인 택시 기하학은 아래의 링크에서 정리하였다.

https://lawrence1031.tistory.com/196

 

20240511_택시 기하학

오늘의 TIL은 택시 기하학의 내용이다. 백준 알고리즘 문제 3053(택시 기하학)를 풀다가 접하게 된 개념으로문제 자체는 간단한 내용의 문제였지만,개념적으로 이해하는 부분이 어려움이 있어서

lawrence1031.tistory.com

 

유클리드 기하학의 원의 넓이는 r * r * pi이고

택시 기하학의 원의 넓이는 r * r * 2이다.

 

이를 소수점 6째자리까지 표기해야하므로 ToString("F6")을 사용하였다.

"N6"를 사용하면 세 자리마다 끊어서 표기되므로

(예를 들어 5541.769은 5,541.769 표기된다)

"F6"를 사용해야한다.