結果
問題 | No.92 逃走経路 |
ユーザー |
![]() |
提出日時 | 2015-10-20 19:48:41 |
言語 | PyPy2 (7.3.15) |
結果 |
AC
|
実行時間 | 548 ms / 5,000 ms |
コード長 | 560 bytes |
コンパイル時間 | 303 ms |
コンパイル使用メモリ | 76,556 KB |
実行使用メモリ | 94,208 KB |
最終ジャッジ日時 | 2024-07-22 11:05:59 |
合計ジャッジ時間 | 4,667 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
import sys sys.setrecursionlimit(100000000) N,M,K = map(int,raw_input().split()) E = [[] for i in xrange(N)] ans = set() for i in xrange(M): a,b,c = map(int,raw_input().split()) a -= 1; b -= 1 E[a].append((b,c)) E[b].append((a,c)) d = map(int,raw_input().split()) d.reverse() now = True def dfs(h,k): global now if k == K or now: now = True return True res = False for nxt,c in E[h]: if c == d[k]: res |= dfs(nxt,k+1) return res for i in xrange(N): now = False if dfs(i,0): ans.add(i+1) print len(ans) print " ".join(map(str,sorted(ans)))