結果

問題 No.3263 違法な散歩道
コンテスト
ユーザー miya256
提出日時 2025-09-06 13:59:50
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 294 ms / 2,000 ms
+ 236µs
コード長 811 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 247 ms
コンパイル使用メモリ 95,732 KB
実行使用メモリ 126,720 KB
最終ジャッジ日時 2026-07-14 19:49:39
合計ジャッジ時間 7,922 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

n,m = map(int,input().split())
g = [[] for _ in range(n)]
for _ in range(m):
    u,v = map(lambda x:int(x)-1,input().split())
    g[u].append(v)
    g[v].append(u)
k = int(input())
iwai = [False] * n

if k > 0:
    a = list(map(lambda x:int(x)-1,input().split()))
    for v in a:
        iwai[v] = True

from collections import deque,defaultdict,Counter

def bfs(v):
    visited = [[False] * 5 for _ in range(n)]
    dq = deque([(v, 0, 0)])
    while dq:
        v, c, d = dq.popleft()
        if v == n-1:
            exit(print(d))
        if visited[v][c]:
            continue
        visited[v][c] = True
        for nv in g[v]:
            if not iwai[nv]:
                dq.append((nv, 0, d+1))
            else:
                if c+1 < 5:
                    dq.append((nv, c+1, d+1))
bfs(0)
print(-1)
0