結果
問題 | No.1595 The Final Digit |
ユーザー |
![]() |
提出日時 | 2024-09-23 16:59:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 62 ms / 2,000 ms |
コード長 | 540 bytes |
コンパイル時間 | 4,283 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 62,084 KB |
最終ジャッジ日時 | 2024-09-23 17:01:23 |
合計ジャッジ時間 | 11,762 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
p, q, r, K = map(int, input().split()) def matrix(a, b): ans = [[0]*len(b[0]) for _ in range(len(a))] for i in range(len(a)): for j in range(len(b[0])): ans[i][j] = sum(a[i][k]*b[k][j] for k in range(len(b)))%10 return ans dp = [[[0]*3 for _ in range(3)]] for i in range(3): dp[0][0][i] = 1 dp[0][1][0] = 1 dp[0][2][1] = 1 for _ in range(59): dp.append(matrix(dp[-1], dp[-1])) K -= 3 ansM = [[r], [q], [p]] for i in range(60): if 1<<i & K: ansM = matrix(dp[i], ansM) print(ansM[0][0])