結果
問題 | No.1111 コード進行 |
ユーザー |
![]() |
提出日時 | 2020-07-10 22:19:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,129 ms / 2,000 ms |
コード長 | 654 bytes |
コンパイル時間 | 407 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 295,936 KB |
最終ジャッジ日時 | 2025-03-28 07:43:42 |
合計ジャッジ時間 | 10,319 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 |
ソースコード
import sys input = sys.stdin.readline N,M,K = map(int,input().split()) PQC = [tuple(map(int,input().split())) for i in range(M)] es = [[] for _ in range(300)] for p,q,c in PQC: p,q = p-1,q-1 es[p].append((q,c)) MOD = 10**9+7 dp = [[[0]*(K+1) for _ in range(300)] for _ in range(N)] for i in range(300): dp[0][i][0] = 1 st = set([(i,0) for i in range(300)]) for i in range(N-1): st2 = set() for p,c in st: for np,dc in es[p]: if c+dc > K: continue dp[i+1][np][c+dc] += dp[i][p][c] dp[i+1][np][c+dc] %= MOD st2.add((np,c+dc)) st = st2 print(sum(a[-1] for a in dp[-1]) % MOD)