結果
問題 | No.58 イカサマなサイコロ |
ユーザー | Common Lisp |
提出日時 | 2024-11-15 15:07:04 |
言語 | Common Lisp (sbcl 2.3.8) |
結果 |
AC
|
実行時間 | 11 ms / 5,000 ms |
コード長 | 1,174 bytes |
コンパイル時間 | 1,673 ms |
コンパイル使用メモリ | 43,592 KB |
実行使用メモリ | 28,112 KB |
最終ジャッジ日時 | 2024-11-15 15:07:06 |
合計ジャッジ時間 | 1,143 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 11 ms
28,104 KB |
testcase_01 | AC | 10 ms
27,984 KB |
testcase_02 | AC | 10 ms
27,856 KB |
testcase_03 | AC | 10 ms
28,112 KB |
testcase_04 | AC | 10 ms
27,980 KB |
testcase_05 | AC | 10 ms
26,028 KB |
testcase_06 | AC | 10 ms
26,024 KB |
testcase_07 | AC | 10 ms
26,024 KB |
testcase_08 | AC | 10 ms
26,020 KB |
testcase_09 | AC | 10 ms
26,148 KB |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 15 NOV 2024 03:07:04 PM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.107
ソースコード
(defun main (&rest argv) (declare (ignorable argv)) (let* ((*read-default-float-format* 'double-float) (n (read)) (k (read)) (dp1 (make-array (list 100 100) :element-type 'double-float :initial-element 0d0)) (dp2 (make-array (list 100 100) :element-type 'double-float :initial-element 0d0)) (res 0d0)) (setf (aref dp1 0 0) 1d0 (aref dp2 0 0) 1d0) (loop for i from 0 below n do (loop for j from 0 to (* 6 n) do (loop for k from 1 to 6 do (incf (aref dp1 (1+ i) (+ j k)) (/ (aref dp1 i j) 6))))) (loop for i from 0 below n do (loop for j from 0 to (* 6 n) if (< i (- n k)) do (loop for k from 1 to 6 do (incf (aref dp2 (1+ i) (+ j k)) (/ (aref dp2 i j) 6))) else do (loop for k from 4 to 6 do (incf (aref dp2 (1+ i) (+ j k)) (/ (aref dp2 i j) 3))))) (loop for i from 0 to (* 6 n) do (loop for j from 0 below i do (incf res (* (aref dp1 n j) (aref dp2 n i))))) (format t "~f~%" res))) (main)