fn in_circle()

in contests/arc051/arc051_a.rs [6:20]


fn in_circle(x: isize, y: isize, x1: isize, y1: isize, r: isize) -> bool {
    if x > x1 + r || x < x1 - r {
        return false;
    }

    let seata = acos(x as f64 / r as f64);
    let y_max_of_circle = (y1 + r) as f64 * sin(seata);
    let y_min_of_circle = (y1 + r) as f64 * sin(-seata);

    if y_max_of_circle >= y as f64 && y_min_of_circle <= y as f64 {
        return true;
    }

    return false;
}