結果
問題 |
No.2441 行列累乗
|
ユーザー |
|
提出日時 | 2024-05-16 11:06:09 |
言語 | Common Lisp (sbcl 2.5.0) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 695 bytes |
コンパイル時間 | 221 ms |
コンパイル使用メモリ | 33,040 KB |
実行使用メモリ | 29,884 KB |
最終ジャッジ日時 | 2024-12-20 10:52:19 |
合計ジャッジ時間 | 1,566 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 20 DEC 2024 10:52:16 AM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.008
ソースコード
(defun matrix-multiply (m1 m2) (let* ((a1 (first (first m1))) (b1 (second (first m1))) (c1 (first (second m1))) (d1 (second (second m1))) (a2 (first (first m2))) (b2 (second (first m2))) (c2 (first (second m2))) (d2 (second (second m2)))) (list (list (+ (* a1 a2) (* b1 c2)) (+ (* a1 b2) (* b1 d2))) (list (+ (* c1 a2) (* d1 c2)) (+ (* c1 b2) (* d1 d2)))))) (defun matrix-power (matrix n) (if (= n 1) matrix (matrix-multiply matrix (matrix-power matrix (1- n))))) (defun main () (let* ((matrix (list (list (read) (read)) (list (read) (read)))) (result (matrix-power matrix 3))) (format t "~{~{~a ~}~%~}" result))) (main)