結果

問題 No.1111 コード進行
ユーザー ああいい
提出日時 2022-05-15 09:49:51
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 439 ms / 2,000 ms
コード長 564 bytes
コンパイル時間 222 ms
コンパイル使用メモリ 82,512 KB
実行使用メモリ 91,580 KB
最終ジャッジ日時 2024-07-23 21:52:27
合計ジャッジ時間 6,464 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 48
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M,K = map(int,input().split())

edge = []
for _ in range(M):
    p,q,c = map(int,input().split())
    edge.append((p,q,c))
mod = 10 ** 9 + 7
C = 301
dp = [[0] * (K + 1) for _ in range(C)]
for p,q,c in edge:
    if c <= K:
        dp[q][c] += 1
for _ in range(N - 2):
    nx = [[0] * (K + 1) for _ in range(C)]
    for p,q,c in edge:
        for i in range(K - c + 1):
            nx[q][i + c] += dp[p][i]
    for p in range(C):
        for i in range(K + 1):
            nx[p][i] %= mod
    dp = nx
ans = 0
for p in range(C):
    ans += dp[p][-1]
print(ans%mod)
0