Python 알고리즘

백준 3053번 파이썬 풀이: 택시 기하학

윤상ol 2020. 8. 31. 10:15
반응형

백준 3053번 택시 기하학

 

알고리즘 분류: 수학, 기하학

 

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

 

 

3053번: 택시 기하학

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

www.acmicpc.net

문제

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

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

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

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

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

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

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

입력

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

출력

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

 

힌트

유클리드 기하학: 한국어 위키 영문 위키 Wolfram Mathworld

비유클리드 기하학: 한국어 위키 영문 위키 Wolfram Mathworld

택시 기하학: 한국어 위키 영문 위키 Wolfram Mathworld

 

 

문제 파악

 

이 문제는 유클리드 기하학과 택시 기하학에 대한 기본 지식이 없으면 풀 수 없는 문제이다.

 

그러나 친절하게도 문제에서 힌트로 이에 대한 위키를 링크로 달아주어서 문제를 풀도록 도와준다.

 

유클리드 기하학에서의 원은 한 점에서 거리가 같은 모든 점들의 자취를 나타낸 것이고

 

택시 기하학에서의 원은 택시거리가 같은 모든 점의 자취이다.

 

유클리드 기하학에서의 원, 출처 : https://www.knun.net/news/article.html?no=15716
택시 기하학에서의 원, 출처 : https://www.knun.net/news/article.html?no=15716

코드

 

 

유클리드 기하학에서의 원과 택시 기하학의 원에 대해서 알았다면

 

이 문제는 굉장히 쉬운 문제이다.

 

유클리드 기하학에서의 원의 넓이는 우리가 흔히 알고있는 πr² 으로 나타낼 수 있다.

 

택시 기하학에서의 원의 넓이는 저 정사각형의 넓이를 구해주면 된다.

 

이를 공식화하면 2r²으로 나타낼 수 있을것 같다.

 

문제에서 소수점 여섯째자리까지 표시하기를 원하니까 format 함수를 통해 6자리까지 나타내주어

 

출력해주면 된다.

반응형