結果

問題 No.88 次はどっちだ
ユーザー ichibanshiboriichibanshibori
提出日時 2016-12-26 13:38:22
言語 OCaml
(5.1.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 680 bytes
コンパイル時間 42 ms
コンパイル使用メモリ 16,896 KB
最終ジャッジ日時 2024-04-27 02:23:52
合計ジャッジ時間 393 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

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

ソースコード

diff #

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



let count_bw () =
  let read_bw lno =
    if lno >= 8 then None
    else
      let cnt = read_line () |>
                Str.split (Str.regexp_string "") |>
                List.filter (fun s -> s = "b" || s = "w") |>
                List.length
      in
      Some(cnt)
  in
  stream_fold ( + ) (Stream.from read_bw) 0

let solve s bw_cnt =
  let rev_player = function | "oda" -> "yukiko" | _ -> "oda" in
  if bw_cnt mod 2 = 0 then s
  else rev_player s

let () =
  let s = read_line ()
  and bw_cnt = count_bw ()
  in
  solve s bw_cnt |> print_endline
0