use proconio::{fastout, input}; #[fastout] fn main() { input! { t: usize } for _ in 0..t { let ans = solve(); println!("{ans:.15}"); } } fn solve() -> f64 { input! { n: usize, m: usize, k: usize } let mut p = 0.0; let a = k.div_ceil(m); // 最後まではずれを引かない let q = (n - a) as f64 / n as f64; let rest = k.saturating_sub((n - 1) * m); let r = (m - rest) as f64 / m as f64; p += q * r; if m > 1 { // 途中ではずれ let q = (1.0 - q) / m as f64; let rest = k.saturating_sub((n - 1) * m + 1); let r = (m - 1 - rest) as f64; p += q * r; } p } // Nの総和に対する制約がなかった。。。