結果
問題 | No.667 Mice's Luck(ネズミ達の運) |
ユーザー | ichibanshibori |
提出日時 | 2018-09-18 00:02:54 |
言語 | OCaml (5.1.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 718 bytes |
コンパイル時間 | 449 ms |
コンパイル使用メモリ | 17,024 KB |
最終ジャッジ日時 | 2024-11-14 20:37:59 |
合計ジャッジ時間 | 1,222 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
File "Main.ml", line 3, characters 2-13: 3 | Stream.iter (fun x -> result := f x !result) st; ^^^^^^^^^^^ Error: Unbound module Stream
ソースコード
let stream_fold f init st = let result = ref init in Stream.iter (fun x -> result := f x !result) st; !result let solve s = let len_s = String.length s in let cnt_maru = Stream.from (fun i -> if i >= len_s then None else Some(s.[i])) |> stream_fold (fun c cnt -> match c with | 'o' -> cnt + 1 | _ -> cnt) 0 in let rec solve' idx rest_maru = if idx < len_s then ( let rest_len = float_of_int @@ len_s - idx in Printf.printf "%.7f\n" @@ (float_of_int rest_maru) /. rest_len *. 100.; let rest_maru' = match s.[idx] with | 'o' -> rest_maru - 1 | _ -> rest_maru in solve' (idx + 1) rest_maru' ) in solve' 0 cnt_maru let () = let s = read_line () in solve s