結果
問題 |
No.801 エレベーター
|
ユーザー |
![]() |
提出日時 | 2020-03-25 00:03:23 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 836 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 82,908 KB |
実行使用メモリ | 302,540 KB |
最終ジャッジ日時 | 2025-01-01 19:01:04 |
合計ジャッジ時間 | 79,921 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | TLE * 26 |
ソースコード
import sys input=lambda: sys.stdin.readline().rstrip() n,m,k=map(int,input().split()) LR=[tuple(int(i) for i in input().split()) for _ in range(m)] E=[[0]*n for _ in range(n)] for l,r in LR: E[l-1][l-1]+=1 if r<n: E[l-1][r]-=1 E[r][l-1]-=1 E[r][r]+=1 for i in range(n): for j in range(n-1): E[i][j+1]+=E[i][j] for i in range(n): for j in range(n-1): E[j+1][i]+=E[j][i] mod=10**9+7 def mul(a,b): c=[[0]*len(b[0]) for i in range(len(a))] for i in range(len(a)): for k in range(len(b)): for j in range(len(b[0])): c[i][j]=(c[i][j]+a[i][k]*b[k][j])%mod return c def matrix_pow(a,x): b=[[0]*len(a) for i in range(len(a))] for i in range(len(a)): b[i][i] = 1 while x>0: if x&1==1: b=mul(a,b) a=mul(a,a) x>>=1 return b EK=matrix_pow(E,k) print(EK[0][n-1])