[BOJ] 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
예제 입력 2
21
예제 출력 2
1385.442360
882.000000
예제 입력 3
42
예제 출력 3
5541.769441
3528.000000
풀이
-
유클리드 기하학에서의 원의 넓이는 우리가 보통 알고 있는 원의 넓이이다.
반지름 X 반지름 X PI
-
택시 기하학에서의 원의 넓이는 마름모의 넓이이다.
마름모의 넓이 = 한 대각선의 길이 X 다른 대각선의 길이 / 2
여기서는 한 대각선의 길이는반지름 X 2
이고, 두 대각선의 길이가 같으므로
(한 대각선의 길이 X 2) ^ 2 / 2
가 된다.
코드
import java.util.Scanner;
/*
* date: 21.06.15
*
* 1. input: 반지름 r
* 2. outpue: 유클리드 기하학에서 반지름이 r인 원의 넓이, 택시 기하학에서 반지름이 r인 원의 넓이
* 3. constraints: 1 <= r <= 10000 자연수
* 4. edge cases:
* 5. brute force: = optimal solution
* time: O(1), space:O(1)
* */
public class BOJ3053 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
double answer = Math.pow(n * 2, 2) / 2;
System.out.printf("%6f", n * n * Math.PI);
System.out.println();
System.out.printf("%6f", answer);
}
}
Author And Source
이 문제에 관하여([BOJ] 3053 택시 기하학), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ffwang/BOJ-3053-택시-기하학저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)