結果

問題 No.706 多眼生物の調査
ユーザー ichibanshibori
提出日時 2018-09-17 00:14:06
言語 OCaml
(5.2.1)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,242 bytes
コンパイル時間 289 ms
コンパイル使用メモリ 18,304 KB
最終ジャッジ日時 2024-11-14 20:37:12
合計ジャッジ時間 871 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

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

ソースコード

diff #
プレゼンテーションモードにする

module IntMap = Map.Make(
struct
type t = int
let compare = compare
end)
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 map_find_opt key map =
if IntMap.mem key map then
Some(IntMap.find key map)
else
None
let map_to_list map =
let result = ref [] in
IntMap.iter (fun k v -> result := (k, v) :: !result) map;
!result
let solve s_lst =
let rec solve' lst map =
match lst with
| [] -> map
| x :: rest ->
let map' = match map_find_opt x map with
| None -> IntMap.add x 1 map
| Some(y) -> IntMap.add x (y + 1) map
in
solve' rest map'
in
solve' s_lst IntMap.empty
|> map_to_list
|> List.sort (fun (k1, v1) (k2, v2) ->
match compare v2 v1 with
| c when c <> 0 -> c
| _ -> compare k2 k1)
|> List.hd
|> fun (k, v) -> k
let () =
let n = read_line () |> int_of_string in
let s_lst = Stream.from(fun i ->
if i >= n then
None
else
read_line ()
|> String.length
|> fun j -> Some(j - 2))
|> stream_to_rev_list
in
solve s_lst
|> Printf.printf "%d\n"
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0