#if __has_include() #include using namespace atcoder; #else #include #if __has_include() #include using namespace atcoder; #endif #endif using namespace std; #define int long long #define all(x) (x).begin(), (x).end() #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = (int)((n) - 1); i >= 0; i--) template bool chmax(T &a,const T &b){if(a bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;} // using mint = modint; void solve(){ int n, m, k; cin >> n >> m >> k; double ans = 0; if(k <= (n - 1) * m){ int g = (k + m - 1) / m; ans = double(g) / n * (1.0 / m); } else{ ans = double(k - (n - 1) * m) / m; } println("{:.30f}", 1 - ans); } signed main(){ int t; cin >> t; while(t--){ solve(); } } /* ヤバグループに手を付けても食べなきゃいけないかどうかで変わりそう つまりk<=n*mかどうか 1. k<=(n-1)*mのとき 食べなきゃいけないグループ数はg := (k + m - 1) / m gグループの中に毒の種類が含まれていて、かつ1/mを引いたらアウト それ以外はセーフ 2. k>(n-1)*mのとき グループの順番は関係ない アウトのグループのm個の果物のうち、食べるk-(n-1)*m個の中に毒ならアウト それ以外はセーフ */