BOJ - 1798 - 원뿔좌표계상의 거리
Updated:
import sys
import math
_PI = 3.14159265
def getRadius(x):
return x * _PI / 180
def solution():
while True:
arr = list(map(float, sys.stdin.readline().split()))
if not arr: return
r, h, d1, A1, d2, A2 = arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]
R = math.sqrt(h * h + r * r)
T = 2 * _PI * r / R
A2 = abs(A1 - A2)
if A2 > 180:
A2 = 360 - A2
ret = math.sqrt(
(d1 * d1 + d2 * d2) - 2 * d1 * d2 * math.cos(getRadius(A2) * T / 2 / _PI)
)
print("%0.2f"%ret)
solution()
https://www.acmicpc.net/problem/1798
Leave a comment