結果

問題 No.570 3人兄弟(その1)
ユーザー ichibanshiboriichibanshibori
提出日時 2017-10-08 17:59:38
言語 OCaml
(5.1.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 535 bytes
コンパイル時間 225 ms
コンパイル使用メモリ 17,152 KB
最終ジャッジ日時 2024-11-14 20:15:09
合計ジャッジ時間 694 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
File "Main.ml", line 3, characters 2-13:
3 |   Stream.iter (fun x -> result := f !result x) st;
      ^^^^^^^^^^^
Error: Unbound module Stream

ソースコード

diff #

let stream_fold f init st =
  let result = ref init in
  Stream.iter (fun x -> result := f !result x) st;
  !result

let stream_to_rev_list st =
  stream_fold (fun result elem -> elem :: result) [] st



let () =
  let st = Stream.from (fun i ->
    if i >= 3 then None
    else
      let c = (65 + i) |> char_of_int
      and h = read_line () |> int_of_string in
      Some(c, h)
  ) in
  st
  |> stream_to_rev_list
  |> List.sort (fun (c1, h1) (c2, h2) -> compare h2 h1)
  |> List.iter (fun (c, h) -> print_endline (String.make 1 c))
0