본문 바로가기

Problem Solving/Baekjoon Online Judge

<수학2> 3053번 택시 기하학 with 파이썬

 

문제

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

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

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

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

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

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

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

입력

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

출력

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

정답비율

38.967%

 

 

 

 처음에는 문제가 잘 이해가 가지 않았다. 택시 기하학에 대한 설명이 너무 부족해 보인다. 그래서인지 하단에 힌트로 위키백과의 링크가 첨부되어 있어서 설명을 읽어보았고, 그에 대한 다른 자료도 조금 찾아보았다.

 

 택시 기하학에서의 거리는 좀 더 현실성을 고려해서 만든 것인데, 택시를 타게 되면 유클리드 기하학에서의 거리처럼 단순히 직선거리가 아니라 바둑판처럼 되어있는 거리를 중간 중간 경유해가며 가는 거리에서 따온 것이다. 아래 그림을 살펴보자.

유클리드 기하학에서의 원

  위가 우리가 익히 알고 있는 원이다. 유클리드 기하학에서는 거리를 단순히 직선거리를 의미하며, 이는 피타고라스의 정리를 이용하여 구할 수 있다. 원의 정의에 따라 O라는 점에서 같은 거리에 있는 점들을 모두 이은 것이 위와 같은 모양(우리가 흔히 원이라고 부르는 동그라미)이다. 

 

택시 기하학에서의 원

 위는 우리가 흔히 알고 있는 원과 다른 모습이다. 앞서 말했던 택시 기하학에서의 거리의 정의에 따라 A에서 O까지의 거리도 3이고 B에서 O까지의 거리도 3임을 알 수 있다. 쉽게 말해 매우 조밀한 바둑판식 모양의 도로를 따라서 움직이는 거리라고 보면 된다. 원의 정의는 같다고 했으므로 O로부터 같은 거리에 있는 점들을 모두 이으면 위와같은 마름모형태가 나타난다.

 

 이제 각 원의 모양도 알았으니 넓이를 구하기만 하면된다. 이미 눈치챘겠지만 유클리드 기하학에서는 반지름의 제곱*파이 이며 택시 기하학에서는 반지름을 가지고 있는 삼각형이 총 4개, 즉 반지름의 제곱*2 이다.

 

import math
r = int(input())
U = r*r*math.pi
T = r*r*2
print('%.6f'%U)
print('%.6f'%T)

 math라이브러리에서 pi변수를 불러와서 사용했다. 각 답은 문제에서 요구한대로 소숫점 여섯 째자리까지 나타내어 출력해주었다. 소숫점을 원하는 자리까지 나오게하는 방식에 대해서는 지난 4344번(평균은 넘겠지)을 풀 때 작성하였으므로 생략한다.

 

 

 


 

참고

 

 

3053번: 택시 기하학

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

www.acmicpc.net

 

 

비유클리드 기하학 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 비유클리드 기하학(non-Euclidean geometry)은 직선 밖의 한 점에서 직선에 평행한 직선을 두 개 이상 그을 수 있는 공간을 대상으로 하는 기하학이다. 유클리드 기하

ko.wikipedia.org

 

 

비유클리드기하학, 과학의 신세계를 설계하다

고대 이집트에서 기원된 것으로 알려진 기하학은 그리스의 수학자 유클리드가 쓴 기하학원론을 기반으로 약 2천 3백여 년간 ‘유클리드기하학’이라 불리며 발전했다. 그러나 약 1백여 년 전 가

www.knun.net