문제풀이

[JAVA] 백준 3053번 택시 기하학 : 유추

IT록흐 2021. 7. 24. 09:55
반응형
 

3053번: 택시 기하학

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

www.acmicpc.net

 

1. 문제 추상화

 

반지름 r이 주어질 때, 유클리드 기하학의 원의 넓이와 택시 기하학의 원의 넓이를 구하라.

 

2. 알고리즘

 

택시 기하학을 모르는 경우와 택시 기하학을 아는 경우 두 가지 풀이 방법이 있다.

 

첫 번째 방법 ( 택시 기하학을 모르는 경우 )

 

원의 정의는 같으나 택시 기하학을 모르면 어떤 원리로 원이 형성되는지 모른다. 다시 말해, '원주율'을 모른다. 그러나 이미 원주율이 예제에 주어져 있다. 

 

 

유클리드 기하학에서 원주율은 ㅈ(파이)이다. 그리고 택시 기하학의 원주율은 2이다. 그러므로 유클리드 기하학에서 원의 넓이는 ㅈ*r2이므로 택시 기하학에서 원의 넓이는 2 * r2이다. 이런 풀이는 어떤 수학적 근거도 없는 얼토당토 않은 풀이지만 이런 식으로 유추해서 풀수 있다.

 

두 번째 방법 ( 택시 기하학을 아는 경우 )

 

택시 기하학은 기하학에 일상을 넣은 개념이다.

 

 

 

유클리드 기하학에서는 두 점 사이의 거리가 직선으로 표현 된다. 그러나 현실은 좀 다르다.

 

 

택시가 A에서 B에 가려면 장애물을 거쳐 가야한다. 그러므로 A(x1​,y1​) B(x2​,y2​)라 할 때, 두 점 사이의 거리는 아래와 같다.

 

 

 

검은점'같은 거리'에 있는 지점을 빨간점으로 표시해보았다. 블록이 커서 이렇게 보이지만 만약 블록이 무한으로 작아진다면 빨간점들이 모여 마름모를 만든다. 그러므로 택시기하학에서 원의 정의는 곧 '마름모'이다.

 

그럼 이제 마름모의 넓이를 구해보자. 마름모의 넓이는 두 대각선의 곱 / 2이다.

 

대각선의 길이 : 2 x r

마름모의 넓이 : ( 2x r x 2 x r ) / 2 = 2 x r2

택시 기하학의 원주율 : 2

 

3. 코드

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {	
		
		Scanner sc = new Scanner(System.in);
		double r = sc.nextDouble();
		
		double pi = Math.PI;
		double taxiPi = 2; 

		System.out.printf("%.6f\n",pi*r*r);
		System.out.printf("%.6f\n",taxiPi*r*r);

	}
}

 

 

반응형