結果
| 問題 |
No.533 Mysterious Stairs
|
| コンテスト | |
| ユーザー |
Common Lisp
|
| 提出日時 | 2024-11-08 13:43:17 |
| 言語 | Common Lisp (sbcl 2.5.0) |
| 結果 |
AC
|
| 実行時間 | 81 ms / 5,000 ms |
| コード長 | 1,076 bytes |
| コンパイル時間 | 1,331 ms |
| コンパイル使用メモリ | 29,568 KB |
| 実行使用メモリ | 22,016 KB |
| 最終ジャッジ日時 | 2024-11-08 13:43:21 |
| 合計ジャッジ時間 | 2,939 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 28 |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 08 NOV 2024 01:43:17 PM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.039
ソースコード
(defconstant +mod+ 1000000007)
(defun main (&rest argv)
(declare (ignorable argv))
(let* ((n (read))
(m (if (> n 4) 4 (1- n)))
(dp (make-array (list 5 5) :initial-contents '((0 0 0 0 0)
(1 0 1 2 0)
(0 1 1 0 0)
(0 0 1 1 0)
(0 0 0 0 0)))))
(loop for i from 5 to n do
(setf (aref dp 1 4) (mod (+ (aref dp 2 3) (aref dp 3 3)) +mod+)
(aref dp 2 4) (mod (+ (aref dp 1 2) (aref dp 3 2)) +mod+)
(aref dp 3 4) (mod (+ (aref dp 1 1) (aref dp 2 1)) +mod+))
(loop for j from 1 to 3 do
(setf (aref dp j 1) (aref dp j 2)
(aref dp j 2) (aref dp j 3)
(aref dp j 3) (aref dp j 4))))
(format t "~d~%" (mod (+ (aref dp 1 m)
(aref dp 2 m)
(aref dp 3 m)) +mod+))))
(main)
Common Lisp