競プロの精進のために学びがあった問題についてまとめています。 目標は AtCoder 水色!
今のレートは茶色です。
問題
典型90 018 – Statue of Chokudai(★3)を解きました。
考察
俯角とは?と一瞬なったものの、単にsinを求めればいいことがわかる。
コード
import math
def distance_point(x1, y1, x2, y2):
d = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
return d
T = int(input())
L, X, Y = map(int,input().split())
Q = int(input())
for q in range(Q):
e = int(input())
radi = math.radians((360/T)*e-90)
y = - L/2 * math.cos(radi)
z = L/2 + L/2 * math.sin(radi)
d = distance_point(0, y, X, Y)
print(math.degrees(math.atan2(z, d)))
まとめ
単に三角関数の計算をしていくだけ、、、のはずだったのにかなりハマってしまった。
数学力が低い。