結果
問題 |
No.1111 コード進行
|
ユーザー |
|
提出日時 | 2020-07-10 22:28:40 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 816 bytes |
コンパイル時間 | 265 ms |
コンパイル使用メモリ | 82,140 KB |
実行使用メモリ | 338,304 KB |
最終ジャッジ日時 | 2024-10-11 09:44:31 |
合計ジャッジ時間 | 9,498 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 39 WA * 9 |
ソースコード
#!/usr/bin/env python3 import sys input=sys.stdin.readline N,M,K=map(int,input().split()) edges=[[] for _ in range(301)] s1=set() s2=set() for _ in range(M): p,q,c=map(int,input().split()) edges[p].append((q,c)) s1.add(p) s2.add(q) s=list(s1&s2) dp=[[[0]*(K+1) for _ in range(301)] for _ in range(N+1)] for i in range(301): if i not in s1: dp[1][i][0]=0 else: dp[1][i][0]=1 for i in range(301): if i not in s1: continue for q,c in edges[i]: for k in range(K-c,-1,-1): dp[2][q][k+c]+=dp[1][i][k] for i in range(2,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] ans=0 for i in range(301): ans+=dp[N][i][K] print(ans)