結果
問題 | No.2441 行列累乗 |
ユーザー |
|
提出日時 | 2024-05-16 11:05:01 |
言語 | Common Lisp (sbcl 2.5.0) |
結果 |
AC
|
実行時間 | 11 ms / 2,000 ms |
コード長 | 874 bytes |
コンパイル時間 | 590 ms |
コンパイル使用メモリ | 36,456 KB |
実行使用メモリ | 29,884 KB |
最終ジャッジ日時 | 2024-12-20 10:52:16 |
合計ジャッジ時間 | 1,492 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 20 DEC 2024 10:52:14 AM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.144
ソースコード
(defun matrix-multiply (m1 m2) "Multiplies two 2x2 matrices." (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) "Raises a 2x2 matrix to the nth power." (if (= n 1) matrix (matrix-multiply matrix (matrix-power matrix (1- n))))) (defun main () (let* ((matrix (list (list (read) (read)) (list (read) (read)))) ; 例として 1 2 ; 3 4 の行列を使用 (result (matrix-power matrix 3))) (format t "~{~{~a ~}~%~}" result))) (main)