[JAVA] 백준 3053번 : 택시 기하학
in Blog / Algorithm / Bronze III / Bronze-iii on Algorithm, Baekjoon, Bronze
안녕하세요, 해을입니다🦖
이번 글에서는 백준 3053번 : 택시 기하학 문제에 대해 알아보겠습니다!
💡 문제
19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.
택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.
D(T1,T2) = | x1-x2 | + | y1-y2 |
두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.
따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.
원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합
반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오.
💡 입력
첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다.
💡 출력
첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.
💡 예제 입력 1
1
💡 예제 출력 1
3.141593
2.000000
🚩 문제 풀이
[주어진 값]
- 반지름 : R
[구해야 할 값]
- 유클리드 기하학에서 반지름이 R인 원의 넓이
- 택시 기하학에서 반지름이 R인 원의 넓이
맨해튼 거리라고도 불리는 택시 기하학은 우리가 알고 있는 거리의 개념을 새롭게 정의한 것입니다.
위키백과에 있는 그림을 통해 아래의 사실을 알 수 있습니다.
- 유클리드 기하학에서의 거리(초록색) : \(D(T_1, T_2)^2 = (x_1-x_2)^2 + (y_1-y_2)^2\)
- 택시 기하학에서의 거리(빨간색, 파란색, 노란색) : \(D(T_1, T_2) = |x_1-x_2| + |y_1-y_2|\)
위 공식을 원의 넓이를 구하는 공식에 대입해 보면 아래와 같은 식을 구할 수 있습니다.
- 유클리드 기하학에서의 원의 넓이 : \(𝜋r^2\)
- 택시 기하학에서의 원의 넓이 : \(2r^2\)
🚩 소스 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double r = sc.nextDouble();
System.out.println(r*r*Math.PI);
System.out.println(r*r*2);
sc.close();
}
}
오류 및 오타 지적, 질문, 인사 등 무엇이든 언제나 환영입니다!
읽어주셔서 감사합니다.
끝!🦕