結果

問題 No.3263 違法な散歩道
ユーザー 回転
提出日時 2025-09-06 13:23:01
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 478 ms / 2,000 ms
コード長 674 bytes
コンパイル時間 259 ms
コンパイル使用メモリ 82,292 KB
実行使用メモリ 126,844 KB
最終ジャッジ日時 2025-09-06 13:24:00
合計ジャッジ時間 9,339 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque
N,M = list(map(int,input().split()))
edge = [[] for _ in range(N)]
for _ in range(M):
    u,v = list(map(int,input().split()))
    u -= 1;v -= 1
    edge[u].append(v)
    edge[v].append(u)

K = int(input())
if(K > 0):
    A = set(map(lambda x:int(x)-1,input().split()))
else:
    A = set()

q = deque([(0,0,0)])
visited = set()
while(q):
    v,iwai,now = q.popleft()
    
    if((iwai,now) in visited):continue
    visited.add((iwai,now))

    if(now == N-1):
        print(v)
        exit()

    for i in edge[now]:
        next_iwai = iwai + 1 if i in A else 0
        if(next_iwai == 5):continue
        q.append((v+1,next_iwai,i))
print(-1)
0