in contests/abc168/abc168_c.rs [21:46]
fn solve(src: &str) -> String {
let source = AutoSource::from(src);
input! {
from source,
H_LENGTH: usize,
M_LENGTH: usize,
H: usize,
M: usize,
}
let H_LENGTH: usize = H_LENGTH;
let M_LENGTH: usize = M_LENGTH;
let h_angle = 360. / 12. * H as f64 + 360. / 12. / 60. * M as f64;
let m_angle = 360. / 60. * M as f64;
let angle = (h_angle - m_angle).abs();
let a2plusb2 = (H_LENGTH.pow(2) + M_LENGTH.pow(2)) as f64;
let ab2 = (2 * H_LENGTH * M_LENGTH) as f64;
let cosC = cos(angle * (PI / 180.));
let answer = sqrt(a2plusb2 - ab2 * cosC);
format!("{:.10}", answer)
}