冷めたコーヒー

Weniger, aber besser

AtCoder ABC 168 C - : (Colon) (300 点) in Python

話題になった^1問題なので取り上げてみます。

a, b, h, m = map(int, input().split())
from math import sqrt, cos, radians
angle = abs(30 * (h + m / 60) - 6 * m)
c = sqrt(a**2 + b**2 - 2*a*b*cos(radians(angle)))
print(c)

針の動きは次のように考えました:

  • H時のときに短針は30*H + 30 * (M / 60)°12時間で360°なので)
  • M分のときに長針は6*M°60分間で360°なので)
  • 両者の針の差が問題なので、絶対値をとる