結果
問題 |
No.1111 コード進行
|
ユーザー |
|
提出日時 | 2020-07-10 22:38:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 764 ms / 2,000 ms |
コード長 | 675 bytes |
コンパイル時間 | 158 ms |
コンパイル使用メモリ | 81,908 KB |
実行使用メモリ | 297,252 KB |
最終ジャッジ日時 | 2024-10-11 10:00:21 |
合計ジャッジ時間 | 6,909 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 |
ソースコード
#!/usr/bin/env python3 import sys input=sys.stdin.readline mod=10**9+7 N,M,K=map(int,input().split()) edges=[[] for _ in range(301)] s=set() for _ in range(M): p,q,c=map(int,input().split()) edges[p].append((q,c)) s.add(p) dp=[[[0]*(K+1) for _ in range(301)] for _ in range(N+1)] for i in range(301): if i not in s: dp[1][i][0]=0 else: dp[1][i][0]=1 for i in range(1,N): for j in s: for q,c in edges[j]: for k in range(K-c,-1,-1): dp[i+1][q][k+c]+=dp[i][j][k] dp[i+1][q][k+c]%=mod ans=0 for i in range(301): ans+=dp[N][i][K] ans%=mod print(ans)