結果

問題 No.92 逃走経路
ユーザー yaoshimaxyaoshimax
提出日時 2015-03-02 01:19:46
言語 Python2
(2.7.18)
結果
RE  
実行時間 -
コード長 555 bytes
コンパイル時間 457 ms
コンパイル使用メモリ 7,040 KB
実行使用メモリ 33,152 KB
最終ジャッジ日時 2024-06-24 00:55:05
合計ジャッジ時間 12,848 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 4,470 ms
7,616 KB
testcase_01 AC 11 ms
6,812 KB
testcase_02 AC 11 ms
6,940 KB
testcase_03 AC 11 ms
6,940 KB
testcase_04 AC 11 ms
6,944 KB
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 AC 51 ms
7,044 KB
testcase_14 AC 1,208 ms
7,184 KB
testcase_15 AC 107 ms
7,248 KB
testcase_16 AC 159 ms
7,312 KB
testcase_17 AC 222 ms
7,584 KB
testcase_18 AC 178 ms
7,696 KB
testcase_19 AC 161 ms
8,320 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M,K=map(int,raw_input().split())
edge=[[]for i in range(N)]
for i in range(M):
    a,b,c = map(int,raw_input().split())
    edge[a-1].append((b-1,c))
    edge[b-1].append((a-1,c))
d=map(int,raw_input().split())
d.reverse()
ans = []

def dfs(cur,depth):
    if depth==K:
        return True
    for i in range(len(edge[cur])):
        nxt,cost = edge[cur][i]
        if cost == d[depth] and dfs(nxt,depth+1):
            return True
    return False

for i in range(N):
    if dfs(i,0):
        ans.append(i)
print len(ans)
for a in ans:
    print a+1,

0