結果

問題 No.2441 行列累乗
ユーザー Lisp_Coder
提出日時 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

ソースコード

diff #
プレゼンテーションモードにする

(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)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0