結果
| 問題 | No.574 正多面体サイコロ | 
| コンテスト | |
| ユーザー |  char134217728 | 
| 提出日時 | 2017-11-16 10:15:05 | 
| 言語 | Ruby (3.4.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 228 ms / 2,000 ms | 
| コード長 | 486 bytes | 
| コンパイル時間 | 39 ms | 
| コンパイル使用メモリ | 7,552 KB | 
| 実行使用メモリ | 12,544 KB | 
| 最終ジャッジ日時 | 2024-11-25 06:13:30 | 
| 合計ジャッジ時間 | 3,151 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 20 | 
コンパイルメッセージ
Syntax OK
ソースコード
f, n, k = gets.split.map &:to_i
Fac = [1]
(1..100).each{|i| Fac[i] = Fac[i-1] * i}
def comb(n, k)
  Fac[n] / Fac[k] / Fac[n-k]
end
ans = 0
total = 0
(1..f).each do |_f|
  s = 0
  pu = [1]
  pd = [1]
  (1..n).each do |i|
    pu[i] = pu[i-1] * (f - _f)
    pd[i] = pd[i-1] * (_f - 1)
  end
  (0...k).each do |ku|
    (0...(n-k+1)).each do |kd|
      s += Fac[n] / Fac[ku] / Fac[kd] / Fac[n-ku-kd] * pu[ku] * pd[kd]
    end
  end
  total += s
  ans += s * _f
end
puts (ans.to_r/total).to_f
            
            
            
        