結果
問題 | No.718 行列のできるフィボナッチ数列道場 (1) |
ユーザー |
![]() |
提出日時 | 2020-06-15 18:04:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 495 ms / 2,000 ms |
コード長 | 533 bytes |
コンパイル時間 | 132 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 44,400 KB |
最終ジャッジ日時 | 2024-07-03 11:30:15 |
合計ジャッジ時間 | 12,590 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#Fibonacchi sequence import numpy as np N = int(input()) A = np.array([[1, 1], [1, 0]],dtype="int64") mod =10 **9 + 7 def mat_f(X): if X == 0: return np.array([1, 0], [0, 1]) elif X == 1: return A else: if X % 2 == 0: S = mat_f(X//2) S%=mod return np.dot(S, S) else: S = mat_f(X//2) S%=mod return np.dot(np.dot(S, S), A) mat = np.dot(mat_f(N), np.array([1, 0])) a=mat[0]%mod b=mat[1]%mod print((a%mod)*(b%mod)%mod)