結果
問題 |
No.1112 冥界の音楽
|
ユーザー |
![]() |
提出日時 | 2021-01-02 12:25:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 823 bytes |
コンパイル時間 | 159 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 94,760 KB |
最終ジャッジ日時 | 2024-10-12 02:20:34 |
合計ジャッジ時間 | 22,916 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 34 |
ソースコード
import sys import io, os input = sys.stdin.buffer.readline mod = 10**9+7 import numpy as np #A**n def mat_pow(A, n, mod): size = len(A) res = np.eye(size, dtype=np.object) while n > 0: if n & 1 == 1: res = res @ A res %= mod A = A @ A A %= mod n = n>>1 return res k, m, n = map(int, input().split()) PQR = [] for i in range(m): p, q, r = map(int, input().split()) p, q, r = p-1, q-1, r-1 PQR.append((p, q, r)) #A = [[0]*(k**2) for i in range(k**2)] A = np.zeros((k**2, k**2), dtype=np.object) for i in range(m): p, q, r = PQR[i] u = p*k+q v = q*k+r A[u][v] += 1 A = mat_pow(A, n-2, mod) ans = 0 for i in range(k): v = 0*k+i for j in range(k): u = j*k+0 ans += A[v][u] #print(A) print(ans%mod)