結果

問題 No.1112 冥界の音楽
ユーザー sasa8uyauya
提出日時 2025-07-20 13:22:42
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 110 ms / 2,000 ms
コード長 573 bytes
コンパイル時間 468 ms
コンパイル使用メモリ 82,188 KB
実行使用メモリ 76,184 KB
最終ジャッジ日時 2025-07-20 13:22:46
合計ジャッジ時間 4,073 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

K,n,L=map(int,input().split())
M=10**9+7
l=K*K
A=[[0]*l for i in range(l)]
for i in range(n):
  p1,p2,p3=map(int,input().split())
  p1-=1
  p2-=1
  p3-=1
  A[p3*K+p2][p2*K+p1]+=1

def seki(a,b):
  c=[[0]*l for i in range(l)]
  for i in range(l):
    for j in range(l):
      for k in range(l):
        c[i][j]+=a[i][k]*b[k][j]
        c[i][j]%=M
  return c

B=[[0]*l for i in range(l)]
for i in range(l):
  B[i][i]=1

L-=2
for i in range(60):
  if (L>>i)&1:
    B=seki(A,B)
  A=seki(A,A)

a=0
for i in range(K):
  for j in range(K):
    a+=B[0*K+i][j*K+0]
    a%=M
print(a)
0