結果
問題 |
No.92 逃走経路
|
ユーザー |
![]() |
提出日時 | 2021-02-09 11:20:51 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 78 ms / 5,000 ms |
コード長 | 585 bytes |
コンパイル時間 | 209 ms |
コンパイル使用メモリ | 82,228 KB |
実行使用メモリ | 73,216 KB |
最終ジャッジ日時 | 2024-07-06 16:24:06 |
合計ジャッジ時間 | 1,961 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
n,m,k=map(int,input().split()) l=[list(map(int,input().split())) for i in range(m)] d=list(map(int,input().split())) c=[[] for i in range(n)] for i in range(m): c[l[i][0]-1].append((l[i][1]-1,l[i][2])) c[l[i][1]-1].append((l[i][0]-1,l[i][2])) dp=[[0]*n for i in range(k+1)] for i in range(n): dp[0][i]=1 for i in range(1,k+1): for j1 in range(n): if dp[i-1][j1]==1: for j2 in range(len(c[j1])): if c[j1][j2][1]==d[i-1]: dp[i][c[j1][j2][0]]=1 ans=[] for i in range(n): if dp[-1][i]==1: ans.append(str(i+1)) print(len(ans)) print(' '.join(ans))