Submission #1454518
Source Code Expand
module IntMap = Map.Make (struct type t = int let compare = compare end) let rec foldn f init = function | 0 -> init | n -> foldn f (f init) (n - 1) let rec gcd n m = if m = 0 then n else gcd m (n mod m) let () = let n, d = Scanf.scanf "%d %d" (fun n d -> n, d) in foldn (fun m -> IntMap.fold (fun n p m -> List.fold_left (fun m d -> let n' = n / gcd n d in IntMap.add n' (p /. 6. +. try IntMap.find n' m with Not_found -> 0.) m) m [1; 2; 3; 4; 5; 6]) m IntMap.empty) (IntMap.singleton d 1.) n |> (fun m -> try IntMap.find 1 m with Not_found -> 0.) |> Printf.printf "%f\n"
Submission Info
Submission Time | |
---|---|
Task | D - サイコロ |
User | fetburner |
Language | OCaml (4.02.3) |
Score | 4 |
Code Size | 665 Byte |
Status | AC |
Exec Time | 163 ms |
Memory | 4864 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 4 / 4 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 4 ms | 2560 KB |
01 | AC | 117 ms | 3072 KB |
02 | AC | 38 ms | 2816 KB |
03 | AC | 44 ms | 3200 KB |
04 | AC | 19 ms | 2944 KB |
05 | AC | 163 ms | 3200 KB |
06 | AC | 112 ms | 3200 KB |
07 | AC | 49 ms | 2944 KB |
08 | AC | 19 ms | 4864 KB |
09 | AC | 9 ms | 2560 KB |
10 | AC | 2 ms | 1152 KB |
90 | AC | 1 ms | 384 KB |
91 | AC | 1 ms | 384 KB |