結果
問題 | No.65 回数の期待値の練習 |
ユーザー | phspls |
提出日時 | 2020-06-03 14:21:52 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 680 bytes |
コンパイル時間 | 23,579 ms |
コンパイル使用メモリ | 385,112 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-25 02:49:59 |
合計ジャッジ時間 | 13,300 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
use std::cmp::min; fn main() { let mut k = String::new(); std::io::stdin().read_line(&mut k).ok(); let k: usize = k.trim().parse().unwrap(); let mut result: Vec<usize> = vec![0; k+1]; result[0] = 1; let mut e: f64 = 0.0; for i in 1..=k { for j in (0..k).rev() { if result[j] == 0 { continue; } for d in 1..=6 { let count = result[j]; let nextval = min(k, j + d); result[nextval] += count; } result[j] = 0; } e += (i * result[k]) as f64 / (6usize.pow(i as u32) as f64); result[k] = 0; } println!("{:.4}", e); }