본문 바로가기
Algorithm

[구현/수학] 백준 3053 택시 기하학 - 파이썬(Python)

by jangThang 2022. 3. 5.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    3053번: 택시 기하학

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     택시 기하학에서의 원 넓이를 구하는 문제입니다. 문제만 이해한다면 쉽게 풀 수 있습니다.

     

    두 점 T1(x1, y1), T2(x2, y2) 사이의 거리는

    택시 기하학: D(T1, T2) = | x1-x2 | + | y1-y2 |
    유클리드 기하학: D(T1, T2) = rout( (x1-x2)^2 + (y1-y2)^2 )

     

     선형대수에서는 택시 기하학의 식을 'L1 norm', 유클리드 기하학의 식을 'L2 norm'이라고도 합니다. 어쨌든 위 식을 이해하면 택시 기하학에서 원의 정의는 '마름모'와 같습니다.

     

     중심에서 거리가 같은 점의 집합은 '마름모'가 됩니다. 마름모의 넓이 공식은 (대각선의 길이)^2 / 2입니다.

     

     

     

    3. 코드

    from math import pi
    R = int(input())
    print(R**2*pi)
    print(2*R**2)

     정답과의 오차는 0.0001까지 허용됩니다. 따라서 굳이 소수점 자리를 맞춰줄 필요는 없습니다.

     

    star가 되고나서 Tistory

    반응형

    댓글