結果
問題 |
No.3226 2×2行列累乗
|
ユーザー |
![]() |
提出日時 | 2025-08-08 21:40:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 44 ms / 2,000 ms |
コード長 | 601 bytes |
コンパイル時間 | 370 ms |
コンパイル使用メモリ | 82,840 KB |
実行使用メモリ | 52,992 KB |
最終ジャッジ日時 | 2025-08-08 21:40:13 |
合計ジャッジ時間 | 2,641 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
A, B = map(int, input().split()) C, D = map(int, input().split()) S, T = map(int, input().split()) N, MOD = 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]%MOD for k in range(len(b)))%MOD return ans dp = [[[A%MOD, B%MOD], [C%MOD, D%MOD]]] for _ in range(59): dp.append(matrix(dp[-1], dp[-1])) M = [[1, 0], [0, 1]] for i in range(60): if 1<<i & N: M = matrix(dp[i], M) M = matrix(M, [[S%MOD], [T%MOD]]) print(M[0][0], M[1][0])